diff --git a/changelog b/changelog index 783bae7..490045e 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,7 @@ +20090831 tpd src/axiom-website/patches.html 20090831.04.tpd.patch +20090831 tpd src/interp/Makefile move nag-e01.boot to nag-e01.lisp +20090831 tpd src/interp/nag-e01.lisp added, rewritten from nag-e01.boot +20090831 tpd src/interp/nag-e01.boot removed, rewritten to nag-e01.lisp 20090831 tpd src/axiom-website/patches.html 20090831.03.tpd.patch 20090831 tpd src/interp/Makefile move nag-d02.boot to nag-d02.lisp 20090831 tpd src/interp/nag-d02.lisp added, rewritten from nag-d02.boot diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 5ede1e8..0a71899 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1956,5 +1956,7 @@ src/interp/nag-c06.lisp rewrite from boot to lisp
src/interp/nag-d01.lisp rewrite from boot to lisp
20090831.03.tpd.patch src/interp/nag-d02.lisp rewrite from boot to lisp
+20090831.04.tpd.patch +src/interp/nag-e01.lisp rewrite from boot to lisp
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index 610d768..81061c5 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -1497,79 +1497,61 @@ ${MID}/nag-d02.lisp: ${IN}/nag-d02.lisp.pamphlet @ -\subsection{nag-d03.boot \cite{48}} +\subsection{nag-d03.lisp} <>= ${AUTO}/nag-d03.${O}: ${OUT}/nag-d03.${O} - @ echo 170 making${AUTO}/nag-d03.${O} from ${OUT}/nag-d03.${O} + @ echo 154 making ${AUTO}/nag-d03.${O} from ${OUT}/nag-d03.${O} @ cp ${OUT}/nag-d03.${O} ${AUTO} @ <>= -${OUT}/nag-d03.${O}: ${MID}/nag-d03.clisp - @ echo 171 making ${OUT}/nag-d03.${O} from ${MID}/nag-d03.clisp - @ (cd ${MID} ; \ +${OUT}/nag-d03.${O}: ${MID}/nag-d03.lisp + @ echo 136 making ${OUT}/nag-d03.${O} from ${MID}/nag-d03.lisp + @ ( cd ${MID} ; \ if [ -z "${NOISE}" ] ; then \ - echo '(progn (compile-file "${MID}/nag-d03.clisp"' \ + echo '(progn (compile-file "${MID}/nag-d03.lisp"' \ ':output-file "${OUT}/nag-d03.${O}") (${BYE}))' | ${DEPSYS} ; \ else \ - echo '(progn (compile-file "${MID}/nag-d03.clisp"' \ + echo '(progn (compile-file "${MID}/nag-d03.lisp"' \ ':output-file "${OUT}/nag-d03.${O}") (${BYE}))' | ${DEPSYS} \ >${TMP}/trace ; \ fi ) @ -<>= -${MID}/nag-d03.clisp: ${IN}/nag-d03.boot.pamphlet - @ echo 172 making ${MID}/nag-d03.clisp from ${IN}/nag-d03.boot.pamphlet +<>= +${MID}/nag-d03.lisp: ${IN}/nag-d03.lisp.pamphlet + @ echo 137 making ${MID}/nag-d03.lisp from ${IN}/nag-d03.lisp.pamphlet @ (cd ${MID} ; \ - ${TANGLE} ${IN}/nag-d03.boot.pamphlet >nag-d03.boot ; \ - if [ -z "${NOISE}" ] ; then \ - echo '(progn (boot::reroot "${SPAD}")' \ - '(boottran::boottocl "nag-d03.boot") (${BYE}))' | ${DEPSYS} ; \ - else \ - echo '(progn (boot::reroot "${SPAD}")' \ - '(boottran::boottocl "nag-d03.boot") (${BYE}))' | ${DEPSYS} \ - >${TMP}/trace ; \ - fi ; \ - rm nag-d03.boot ) + ${TANGLE} ${IN}/nag-d03.lisp.pamphlet >nag-d03.lisp ) @ -\subsection{nag-e01.boot \cite{49}} +\subsection{nag-e01.lisp} <>= ${AUTO}/nag-e01.${O}: ${OUT}/nag-e01.${O} - @ echo 174 making ${AUTO}/nag-e01.${O} from ${OUT}/nag-e01.${O} + @ echo 154 making ${AUTO}/nag-e01.${O} from ${OUT}/nag-e01.${O} @ cp ${OUT}/nag-e01.${O} ${AUTO} @ <>= -${OUT}/nag-e01.${O}: ${MID}/nag-e01.clisp - @ echo 175 making ${OUT}/nag-e01.${O} from ${MID}/nag-e01.clisp - @ (cd ${MID} ; \ +${OUT}/nag-e01.${O}: ${MID}/nag-e01.lisp + @ echo 136 making ${OUT}/nag-e01.${O} from ${MID}/nag-e01.lisp + @ ( cd ${MID} ; \ if [ -z "${NOISE}" ] ; then \ - echo '(progn (compile-file "${MID}/nag-e01.clisp"' \ + echo '(progn (compile-file "${MID}/nag-e01.lisp"' \ ':output-file "${OUT}/nag-e01.${O}") (${BYE}))' | ${DEPSYS} ; \ else \ - echo '(progn (compile-file "${MID}/nag-e01.clisp"' \ + echo '(progn (compile-file "${MID}/nag-e01.lisp"' \ ':output-file "${OUT}/nag-e01.${O}") (${BYE}))' | ${DEPSYS} \ >${TMP}/trace ; \ fi ) @ -<>= -${MID}/nag-e01.clisp: ${IN}/nag-e01.boot.pamphlet - @ echo 176 making ${MID}/nag-e01.clisp from ${IN}/nag-e01.boot.pamphlet +<>= +${MID}/nag-e01.lisp: ${IN}/nag-e01.lisp.pamphlet + @ echo 137 making ${MID}/nag-e01.lisp from ${IN}/nag-e01.lisp.pamphlet @ (cd ${MID} ; \ - ${TANGLE} ${IN}/nag-e01.boot.pamphlet >nag-e01.boot ; \ - if [ -z "${NOISE}" ] ; then \ - echo '(progn (boot::reroot "${SPAD}")' \ - '(boottran::boottocl "nag-e01.boot") (${BYE}))' | ${DEPSYS} ; \ - else \ - echo '(progn (boot::reroot "${SPAD}")' \ - '(boottran::boottocl "nag-e01.boot") (${BYE}))' | ${DEPSYS} \ - >${TMP}/trace ; \ - fi ; \ - rm nag-e01.boot ) + ${TANGLE} ${IN}/nag-e01.lisp.pamphlet >nag-e01.lisp ) @ @@ -4693,11 +4675,11 @@ clean: <> <> -<> +<> <> <> -<> +<> <> <> diff --git a/src/interp/nag-e01.boot.pamphlet b/src/interp/nag-e01.boot.pamphlet deleted file mode 100644 index 227dabd..0000000 --- a/src/interp/nag-e01.boot.pamphlet +++ /dev/null @@ -1,1780 +0,0 @@ -\documentclass{article} -\usepackage{axiom} -\begin{document} -\title{\$SPAD/src/interp nag-e01.boot} -\author{The Axiom Team} -\maketitle -\begin{abstract} -\end{abstract} -\eject -\tableofcontents -\eject -\section{License} -<>= --- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. --- All rights reserved. --- --- Redistribution and use in source and binary forms, with or without --- modification, are permitted provided that the following conditions are --- met: --- --- - Redistributions of source code must retain the above copyright --- notice, this list of conditions and the following disclaimer. --- --- - Redistributions in binary form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in --- the documentation and/or other materials provided with the --- distribution. --- --- - Neither the name of The Numerical ALgorithms Group Ltd. nor the --- names of its contributors may be used to endorse or promote products --- derived from this software without specific prior written permission. --- --- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS --- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED --- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A --- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER --- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, --- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, --- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR --- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF --- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING --- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS --- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -@ -<<*>>= -<> - -e01baf() == - htInitPage('"E01BAF - Interpolating functions, cubic spline interpolant, one variable", nil) - htMakePage '( - (domainConditions - (isDomain PI (PositiveInteger))) - (text . "\windowlink{Manual Page}{manpageXXe01baf} for this routine ") - (text . "\newline ") - (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01baf| '|NagInterpolationPackage|)} for this routine") - (text . "\newline \horizontalline ") - (text . "Determines a cubic B-spline interpolant ") - (text . "\center{s(x) = \htbitmap{e01baf}} to the points ") - (text . "(\htbitmap{xiii}, \htbitmap{yi}), for i = 1,2,...,m. ") - (text . "\blankline ") - (text . "\menuitemstyle{} \tab{2} ") - (text . "Enter the number of data points, {\it m}:") - (text . "\newline\tab{2} ") - (bcStrings (5 7 m PI)) - (text . "\blankline") - (text . "\newline") - (text . "\menuitemstyle{} \tab{2} ") - (text . "\newline \tab{2} ") - (text . "Ifail value: ") - (radioButtons ifail - ("" " -1, Print error messages" minusOne) - ("" " 1, Suppress error messages" one))) - htMakeDoneButton('"Continue", 'e01bafSolve) - htShowPage() - -e01bafSolve htPage == - m := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) - objValUnwrap htpLabelSpadValue(htPage, 'm) - error := htpButtonValue(htPage,'ifail) - ifail := - error = 'one => '1 - '-1 - m = '7 => e01bafDefaultSolve(htPage,ifail) - labelList := - "append"/[f(i) for i in 1..m] where f(i) == - prefix := ('"\newline \tab{2} ") - post := ('"\tab{32} ") - xnam := INTERN STRCONC ('"x",STRINGIMAGE i) - ynam := INTERN STRCONC ('"y",STRINGIMAGE i) - num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) - [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], - ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]] - equationPart := [ - '(domainConditions - (isDomain P (Polynomial $EmptyMode)) - (isDomain S (String)) - (isDomain F (Float)) - (isDomain PI (PositiveInteger))), - :labelList] - page := htInitPage("E01BAF - Interpolating functions, cubic spline interpolant, one variable",htpPropertyList htPage) - htSay '"\menuitemstyle{}\tab{2} Values of x: \tab{30} " - htSay '"\menuitemstyle{}\tab{32} Corresponding values of y: " - htMakePage equationPart - htSay '"\blankline " - htMakeDoneButton('"Continue",'e01bafGen) - htpSetProperty(page,'m,m) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - -e01bafDefaultSolve (htPage, ifail) == - m := '7 - page := htInitPage('"E01BAF - Interpolating functions, cubic spline interpolant, one variable",htpPropertyList htPage) - htMakePage '( - (domainConditions - (isDomain F (Float))) - (text . "\newline ") - (text . "\menuitemstyle{}\tab{2} Values of x: \tab{30} ") - (text . "\menuitemstyle{}\tab{32} Corresponding values of y: ") - (text . "\newline \tab{2}") - (bcStrings (10 "0.0" x1 F)) - (text . "\tab{32} ") - (bcStrings (10 "1.0000" y1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.2" x2 F)) - (text . "\tab{32} ") - (bcStrings (10 "1.2214" y2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.4" x3 F)) - (text . "\tab{32} ") - (bcStrings (10 "1.4918" y3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.6" x4 F)) - (text . "\tab{32} ") - (bcStrings (10 "1.8221" y4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.75" x5 F)) - (text . "\tab{32} ") - (bcStrings (10 "2.1170" y5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.9" x6 F)) - (text . "\tab{32} ") - (bcStrings (10 "2.4596" y6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "1.0" x7 F)) - (text . "\tab{32} ") - (bcStrings (10 "2.7183" y7 F)) - (text . "\blankline")) - htMakeDoneButton('"Continue",'e01bafGen) - htpSetProperty(page,'m,m) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - - -e01bafGen htPage == - m := htpProperty(htPage,'m) - ifail := htpProperty(htPage,'ifail) - alist := htpInputAreaAlist htPage - lck := m + 4 - lwrk := 6*m+16 - y := alist - while y repeat - right := STRCONC ((first y).1," ") - y := rest y - left := STRCONC ((first y).1," ") - y := rest y - reallist := [left,:reallist] - imaglist := [right,:imaglist] - realstring := bcwords2liststring reallist - imagstring := bcwords2liststring imaglist - pre := STRCONC ('"e01baf(",STRINGIMAGE m,",[",realstring,"],[",imagstring) - post := STRCONC ('"],",STRINGIMAGE lck,",",STRINGIMAGE lwrk,",") - linkGen STRCONC (pre,post,STRINGIMAGE ifail,")") - -e01bef() == - htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable", nil) - htMakePage '( - (domainConditions - (isDomain PI (PositiveInteger))) - (text . "\windowlink{Manual Page}{manpageXXe01bef} for this routine ") - (text . "\newline ") - (text . "\lispwindowlink{Brow[Cser operation page}{(|oPageFrom| '|e01bef| '|NagInterpolationPackage|)} for this routine") - (text . "\newline \horizontalline ") - (text . "Determines derivative estimates defining a monoticity preserving") - (text . " piecewise cubic Hermite interpolant to the set of points ") - (text . "(\htbitmap{xr}, \htbitmap{fr}), ") - (text . "for r = 1,2,...,m. The interpolant, its derivative, and its ") - (text . "integral can be evaluated by calls to E01BFF, E01BGF or E01BHF. ") - (text . "\blankline ") - (text . "\menuitemstyle{} \tab{2} ") - (text . "Enter the number of data points {\it n} \htbitmap{great=} 2:") - (text . "\newline\tab{2} ") - (bcStrings (5 9 n PI)) - (text . "\blankline") - (text . "\newline") - (text . "\menuitemstyle{} \tab{2} ") - (text . "\newline \tab{2} ") - (text . "Ifail value: ") - (radioButtons ifail - ("" " -1, Print error messages" minusOne) - ("" " 1, Suppress error messages" one))) - htMakeDoneButton('"Continue", 'e01befSolve) - htShowPage() - -e01befSolve htPage == - n := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) - objValUnwrap htpLabelSpadValue(htPage, 'n) - error := htpButtonValue(htPage,'ifail) - ifail := - error = 'one => '1 - error = 'zero => '0 - '-1 - n = '9 => e01befDefaultSolve(htPage,ifail) - labelList := - "append"/[f(i) for i in 1..n] where f(i) == - prefix := ('"\newline \tab{2} ") - post := ('"\tab{32} ") - xnam := INTERN STRCONC ('"x",STRINGIMAGE i) - ynam := INTERN STRCONC ('"y",STRINGIMAGE i) - num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) - [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], - ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]] - equationPart := [ - '(domainConditions - (isDomain P (Polynomial $EmptyMode)) - (isDomain S (String)) - (isDomain F (Float)) - (isDomain PI (PositiveInteger))), - :labelList] - page := htInitPage("E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable",htpPropertyList htPage) - htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " - htSay '"\htbitmap{xr}: \tab{30} " - htSay '"\menuitemstyle{}\tab{32} Values of \space{1} " - htSay '"\htbitmap{fr}: " - htMakePage equationPart - htSay '"\blankline " - htMakeDoneButton('"Continue",'e01befGen) - htpSetProperty(page,'n,n) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - -e01befDefaultSolve (htPage, ifail) == - n := '9 - page := htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable",htpPropertyList htPage) - htMakePage '( - (domainConditions - (isDomain F (Float))) - (text . "\newline ") - (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") - (text . "\htbitmap{xr}: \tab{30} ") - (text . "\menuitemstyle{}\tab{32} Values of \space{1} \htbitmap{fr}: ") - (text . "\newline \tab{2}") - (bcStrings (10 "7.99" x1 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.00000e+0" y1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.09" x2 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.27643e-4" y2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.19" x3 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.43750e-1" y3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.70" x4 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.16918" y4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "9.20" x5 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.46943" y5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "10.00" x6 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.94374" y6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.00" x7 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.99864" y7 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.00" x8 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.99992" y8 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "20.00" x9 F)) - (text . "\tab{32} ") - (bcStrings (10 "0.99999" y9 F)) - (text . "\blankline")) - htMakeDoneButton('"Continue",'e01befGen) - htpSetProperty(page,'n,n) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - - -e01befGen htPage == - n := htpProperty(htPage,'n) - ifail := htpProperty(htPage,'ifail) - alist := htpInputAreaAlist htPage - lck := n + 4 - lwrk := 6*n+16 - y := alist - while y repeat - right := STRCONC ((first y).1," ") - y := rest y - left := STRCONC ((first y).1," ") - y := rest y - reallist := [left,:reallist] - imaglist := [right,:imaglist] - realstring := bcwords2liststring reallist - imagstring := bcwords2liststring imaglist - linkGen STRCONC ('"e01bef(",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],",STRINGIMAGE ifail,")") - - -e01bff() == - htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable", nil) - htMakePage '( - (domainConditions - (isDomain PI (PositiveInteger))) - (text . "\windowlink{Manual Page}{manpageXXe01bff} for this routine ") - (text . "\newline ") - (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bff| '|NagInterpolationPackage|)} for this routine") - (text . "\newline \horizontalline ") - (text . "Evaluates the piecewise cubic Hermite interpolant computed ") - (text . "by E01BEF at the set of points \htbitmap{xiii}, ") - (text . "for i = 1,2,...,m. ") - (text . "\blankline ") - (text . "\menuitemstyle{} \tab{2} ") - (text . "Enter the number of data points {\em n}: ") - (text . "\newline\tab{2} ") - (bcStrings (5 9 n PI)) - (text . "\blankline ") - (text . "\menuitemstyle{} \tab{2} ") - (text . "Enter the number of evaluation points {\em m}: ") - (text . "\newline\tab{2} ") - (bcStrings (5 11 m PI)) - (text . "\blankline") - (text . "\newline") - (text . "\menuitemstyle{} \tab{2} ") - (text . "\newline \tab{2} ") - (text . "Ifail value: ") - (radioButtons ifail - ("" " -1, Print error messages" minusOne) - ("" " 1, Suppress error messages" one))) - htMakeDoneButton('"Continue", 'e01bffSolve) - htShowPage() - -e01bffSolve htPage == - n := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) - objValUnwrap htpLabelSpadValue(htPage, 'n) - m := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) - objValUnwrap htpLabelSpadValue(htPage, 'm) - error := htpButtonValue(htPage,'ifail) - ifail := - error = 'one => '1 - '-1 - (n = '9 and m = '11) => e01bffDefaultSolve(htPage,ifail) - labelList := - "append"/[f(i) for i in 1..n] where f(i) == - prefix := ('"\newline \tab{2} ") - middle := ('"\tab{22} ") - post := ('" \tab{42} ") - xnam := INTERN STRCONC ('"x",STRINGIMAGE i) - ynam := INTERN STRCONC ('"y",STRINGIMAGE i) - znam := INTERN STRCONC ('"z",STRINGIMAGE i) - num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) - [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], - ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], - ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] - pxwords := ('"\blankline \menuitemstyle{}\tab{2} Values of ") - pxwords := STRCONC(pxwords,'"array {\it Px}: \newline ") - pxwords := cons('text,pxwords) - pointList := - "append"/[g(j) for j in 1..m] where g(j) == - preamb := ('"\newline \tab{2} ") - pnam := INTERN STRCONC ('"px",STRINGIMAGE j) - [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]] - labelList := [:labelList,pxwords,:pointList] - equationPart := [ - '(domainConditions - (isDomain P (Polynomial $EmptyMode)) - (isDomain S (String)) - (isDomain F (Float)) - (isDomain PI (PositiveInteger))), - :labelList] - page := htInitPage("E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable",htpPropertyList htPage) - htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " - htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " - htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" - htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " - htSay '"\htbitmap{dr}: " - htMakePage equationPart - htSay '"\blankline " - htMakeDoneButton('"Continue",'e01bffGen) - htpSetProperty(page,'n,n) - htpSetProperty(page,'m,m) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - -e01bffDefaultSolve (htPage, ifail) == - n := '9 - m := '11 - page := htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable",htpPropertyList htPage) - htMakePage '( - (domainConditions - (isDomain F (Float))) - (text . "\newline ") - (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") - (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") - (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") - (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") - (text . "\htbitmap{dr}: ") - (text . "\newline \tab{2}") - (bcStrings (10 "7.99" x1 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.00000e+0" y1 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.00000e+0" z1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.09" x2 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.27643e-4" y2 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.52510e-4" z2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.19" x3 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.43750e-1" y3 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.33587" z3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.70" x4 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.16918" y4 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.34944" z4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "9.20" x5 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.46943" y5 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.59696" z5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "10.00" x6 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.94374" y6 F)) - (text . "\tab{42} ") - (bcStrings (10 "6.03260e-2" z6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.00" x7 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99864" y7 F)) - (text . "\tab{42} ") - (bcStrings (10 "8.98335e-4" z7 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.00" x8 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99992" y8 F)) - (text . "\tab{42} ") - (bcStrings (10 "2.93954e-5" z8 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "20.00" x9 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99999" y9 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.00000" z9 F)) - (text . "\blankline") - (text . "\menuitemstyle{}\tab{2} ") - (text . "Values of array {\it Px}: ") - (text . "\newline \tab{2} ") - (bcStrings (10 "7.99" px1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "9.191" px2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "10.392" px3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "11.593" px4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.794" px5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "13.995" px6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.196" px7 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "16.397" px8 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "17.598" px9 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "18.799" px10 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "20.0" px11 F)) - (text . "\blankline")) - htMakeDoneButton('"Continue",'e01bffGen) - htpSetProperty(page,'n,n) - htpSetProperty(page,'m,m) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - - -e01bffGen htPage == - n := htpProperty(htPage,'n) - m := htpProperty(htPage,'m) - ifail := htpProperty(htPage,'ifail) - alist := htpInputAreaAlist htPage - lck := n + 4 - lwrk := 6*n+16 - y := alist - for i in 1..m repeat - px := STRCONC ((first y).1," ") - y := rest y - pxlist := [px,:pxlist] - pxstring := bcwords2liststring pxlist - while y repeat - right := STRCONC ((first y).1," ") - y := rest y - mid := STRCONC ((first y).1," ") - y := rest y - left := STRCONC ((first y).1," ") - y := rest y - xlist := [left,:xlist] - flist := [mid,:flist] - dlist := [right,:dlist] - xstring := bcwords2liststring xlist - fstring := bcwords2liststring flist - dstring := bcwords2liststring dlist - prefix := STRCONC('"e01bff(",STRINGIMAGE n,",[",xstring,"],[",fstring) - prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],") - prefix := STRCONC(prefix,STRINGIMAGE ifail,")") - linkGen prefix - -e01bgf() == - htInitPage('"E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable", nil) - htMakePage '( - (domainConditions - (isDomain PI (PositiveInteger))) - (text . "\windowlink{Manual Page}{manpageXXe01bgf} for this routine ") - (text . "\newline ") - (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bgf| '|NagInterpolationPackage|)} for this routine") - (text . "\newline \horizontalline ") - (text . "Evaluates the piecewise cubic Hermite interpolant computed ") - (text . "by E01BEF and its 1st derivative at the set of points \space{1} ") - (text . "\htbitmap{xiii}, for i = 1,2,...,m. ") - (text . "\blankline ") - (text . "\menuitemstyle{} \tab{2} ") - (text . "Enter the number of data points {\em n}: ") - (text . "\newline\tab{2} ") - (bcStrings (5 9 n PI)) - (text . "\blankline ") - (text . "\menuitemstyle{} \tab{2} ") - (text . "Enter the number of evaluation points {\em m}: ") - (text . "\newline\tab{2} ") - (bcStrings (5 11 m PI)) - (text . "\blankline") - (text . "\newline") - (text . "\menuitemstyle{} \tab{2} ") - (text . "\newline \tab{2} ") - (text . "Ifail value: ") - (radioButtons ifail - ("" " -1, Print error messages" minusOne) - ("" " 1, Suppress error messages" one))) - htMakeDoneButton('"Continue", 'e01bgfSolve) - htShowPage() - -e01bgfSolve htPage == - n := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) - objValUnwrap htpLabelSpadValue(htPage, 'n) - m := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) - objValUnwrap htpLabelSpadValue(htPage, 'm) - error := htpButtonValue(htPage,'ifail) - ifail := - error = 'one => '1 - '-1 - (n = '9 and m = '11) => e01bgfDefaultSolve(htPage,ifail) - labelList := - "append"/[f(i) for i in 1..n] where f(i) == - prefix := ('"\newline \tab{2} ") - middle := ('"\tab{22} ") - post := ('" \tab{42} ") - xnam := INTERN STRCONC ('"x",STRINGIMAGE i) - ynam := INTERN STRCONC ('"y",STRINGIMAGE i) - znam := INTERN STRCONC ('"z",STRINGIMAGE i) - num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) - [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], - ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], - ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] - pxwords := ('"\blankline \menuitemstyle{}\tab{2} Values of ") - pxwords := STRCONC(pxwords,'"array {\it Px}: \newline ") - pxwords := cons('text,pxwords) - pointList := - "append"/[g(j) for j in 1..m] where g(j) == - preamb := ('"\newline \tab{2} ") - pnam := INTERN STRCONC ('"px",STRINGIMAGE j) - [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]] - labelList := [:labelList,pxwords,:pointList] - equationPart := [ - '(domainConditions - (isDomain P (Polynomial $EmptyMode)) - (isDomain S (String)) - (isDomain F (Float)) - (isDomain PI (PositiveInteger))), - :labelList] - page := htInitPage("E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable",htpPropertyList htPage) - htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " - htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " - htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" - htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " - htSay '"\htbitmap{dr}: " - htMakePage equationPart - htSay '"\blankline " - htMakeDoneButton('"Continue",'e01bgfGen) - htpSetProperty(page,'n,n) - htpSetProperty(page,'m,m) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - -e01bgfDefaultSolve (htPage, ifail) == - n := '9 - m := '11 - page := htInitPage('"E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable",htpPropertyList htPage) - htMakePage '( - (domainConditions - (isDomain F (Float))) - (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") - (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") - (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") - (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") - (text . "\htbitmap{dr}: ") - (text . "\newline \tab{2}") - (bcStrings (10 "7.99" x1 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.00000e+0" y1 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.00000e+0" z1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.09" x2 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.27643e-4" y2 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.52510e-4" z2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.19" x3 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.43750e-1" y3 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.33587" z3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.70" x4 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.16918" y4 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.34944" z4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "9.20" x5 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.46943" y5 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.59696" z5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "10.00" x6 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.94374" y6 F)) - (text . "\tab{42} ") - (bcStrings (10 "6.03260e-2" z6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.00" x7 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99864" y7 F)) - (text . "\tab{42} ") - (bcStrings (10 "8.98335e-4" z7 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.00" x8 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99992" y8 F)) - (text . "\tab{42} ") - (bcStrings (10 "2.93954e-5" z8 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "20.00" x9 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99999" y9 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.00000" z9 F)) - (text . "\blankline") - (text . "\menuitemstyle{}\tab{2} ") - (text . "Values of array {\it Px}: ") - (text . "\newline \tab{2} ") - (bcStrings (10 "7.99" px1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "9.191" px2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "10.392" px3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "11.593" px4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.794" px5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "13.995" px6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.196" px7 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "16.397" px8 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "17.598" px9 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "18.799" px10 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "20.0" px11 F)) - (text . "\blankline")) - htMakeDoneButton('"Continue",'e01bgfGen) - htpSetProperty(page,'n,n) - htpSetProperty(page,'m,m) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - - -e01bgfGen htPage == - n := htpProperty(htPage,'n) - m := htpProperty(htPage,'m) - ifail := htpProperty(htPage,'ifail) - alist := htpInputAreaAlist htPage - lck := n + 4 - lwrk := 6*n+16 - y := alist - for i in 1..m repeat - px := STRCONC ((first y).1," ") - y := rest y - pxlist := [px,:pxlist] - pxstring := bcwords2liststring pxlist - while y repeat - right := STRCONC ((first y).1," ") - y := rest y - mid := STRCONC ((first y).1," ") - y := rest y - left := STRCONC ((first y).1," ") - y := rest y - xlist := [left,:xlist] - flist := [mid,:flist] - dlist := [right,:dlist] - xstring := bcwords2liststring xlist - fstring := bcwords2liststring flist - dstring := bcwords2liststring dlist - prefix := STRCONC('"e01bgf(",STRINGIMAGE n,",[",xstring,"],[",fstring) - prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],") - prefix := STRCONC(prefix,STRINGIMAGE ifail,")") - linkGen prefix - -e01bhf() == - htInitPage('"E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable", nil) - htMakePage '( - (domainConditions - (isDomain PI (PositiveInteger))) - (text . "\windowlink{Manual Page}{manpageXXe01bhf} for this routine ") - (text . "\newline ") - (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bhf| '|NagInterpolationPackage|)} for this routine") - (text . "\newline \horizontalline ") - (text . "Evaluates the definite integral of the piecewise cubic Hermite ") - (text . "interpolant computed by E01BEF over the interval [a,b]. ") - (text . "\blankline ") - (text . "\menuitemstyle{} \tab{2} ") - (text . "Enter the number of data points {\em n}: ") - (text . "\newline\tab{2} ") - (bcStrings (5 9 n PI)) - (text . "\blankline ") - (text . "\newline \menuitemstyle{}\tab{2} ") - (text . "\newline {\em Lower} bound {\it a}: ") - (text . "\tab{32} \menuitemstyle{}\tab{34} ") - (text . "{\em Upper} bound {\it b}:") - (text . "\newline\tab{2} ") - (bcStrings (20 "7.99" a F)) - (text . "\tab{34} ") - (bcStrings (20 "20.0" b EM)) - (text . "\blankline") - (text . "\newline") - (text . "\menuitemstyle{} \tab{2} ") - (text . "\newline \tab{2} ") - (text . "Ifail value: ") - (radioButtons ifail - ("" " -1, Print error messages" minusOne) - ("" " 1, Suppress error messages" one))) - htMakeDoneButton('"Continue", 'e01bhfSolve) - htShowPage() - -e01bhfSolve htPage == - n := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) - objValUnwrap htpLabelSpadValue(htPage, 'n) - a := htpLabelInputString(htPage,'a) - b := htpLabelInputString(htPage,'b) - error := htpButtonValue(htPage,'ifail) - ifail := - error = 'one => '1 - '-1 - n = '9 => e01bhfDefaultSolve(htPage,a,b,ifail) - labelList := - "append"/[f(i) for i in 1..n] where f(i) == - prefix := ('"\newline \tab{2} ") - middle := ('"\tab{22} ") - post := ('" \tab{42} ") - xnam := INTERN STRCONC ('"x",STRINGIMAGE i) - ynam := INTERN STRCONC ('"y",STRINGIMAGE i) - znam := INTERN STRCONC ('"z",STRINGIMAGE i) - num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) - [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], - ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], - ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] - equationPart := [ - '(domainConditions - (isDomain P (Polynomial $EmptyMode)) - (isDomain S (String)) - (isDomain F (Float)) - (isDomain PI (PositiveInteger))), - :labelList] - page := htInitPage("E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable",htpPropertyList htPage) - htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " - htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " - htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" - htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " - htSay '"\htbitmap{dr}: " - htMakePage equationPart - htSay '"\blankline " - htMakeDoneButton('"Continue",'e01bhfGen) - htpSetProperty(page,'n,n) - htpSetProperty(page,'a,a) - htpSetProperty(page,'b,b) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - -e01bhfDefaultSolve (htPage,a,b,ifail) == - n := '9 - page := htInitPage('"E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable",htpPropertyList htPage) - htMakePage '( - (domainConditions - (isDomain F (Float))) - (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") - (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") - (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") - (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") - (text . "\htbitmap{dr}: ") - (text . "\newline \tab{2}") - (bcStrings (10 "7.99" x1 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.00000e+0" y1 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.00000e+0" z1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.09" x2 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.27643e-4" y2 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.52510e-4" z2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.19" x3 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.43750e-1" y3 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.33587" z3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "8.70" x4 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.16918" y4 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.34944" z4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "9.20" x5 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.46943" y5 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.59696" z5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "10.00" x6 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.94374" y6 F)) - (text . "\tab{42} ") - (bcStrings (10 "6.03260e-2" z6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.00" x7 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99864" y7 F)) - (text . "\tab{42} ") - (bcStrings (10 "8.98335e-4" z7 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.00" x8 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99992" y8 F)) - (text . "\tab{42} ") - (bcStrings (10 "2.93954e-5" z8 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "20.00" x9 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.99999" y9 F)) - (text . "\tab{42} ") - (bcStrings (10 "0.00000" z9 F)) - (text . "\blankline")) - htMakeDoneButton('"Continue",'e01bhfGen) - htpSetProperty(page,'n,n) - htpSetProperty(page,'a,a) - htpSetProperty(page,'b,b) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - - -e01bhfGen htPage == - n := htpProperty(htPage,'n) - a := htpProperty(htPage,'a) - b := htpProperty(htPage,'b) - ifail := htpProperty(htPage,'ifail) - alist := htpInputAreaAlist htPage - lck := n + 4 - lwrk := 6*n+16 - y := alist - while y repeat - right := STRCONC ((first y).1," ") - y := rest y - mid := STRCONC ((first y).1," ") - y := rest y - left := STRCONC ((first y).1," ") - y := rest y - xlist := [left,:xlist] - flist := [mid,:flist] - dlist := [right,:dlist] - xstring := bcwords2liststring xlist - fstring := bcwords2liststring flist - dstring := bcwords2liststring dlist - prefix := STRCONC('"e01bhf(",STRINGIMAGE n,",[",xstring,"],[",fstring,"],[") - prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE a,",",STRINGIMAGE b,",",STRINGIMAGE ifail,")") - linkGen prefix - - -e01daf() == - htInitPage('"E01DAF - Interpolating functions, fitting bicubic spline, data on a rectangular grid", nil) - htMakePage '( - (domainConditions - (isDomain PI (PositiveInteger))) - (text . "\windowlink{Manual Page}{manpageXXe01daf} for this routine ") - (text . "\newline ") - (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01daf| '|NagInterpolationPackage|)} for this routine") - (text . "\newline \horizontalline ") - (text . "Determines a bicubic spline surface interpolating the set of ") - (text . "data values (\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}) ") - (text . "given on a rectangular grid. The grid is defined by ") - (text . "\space{1} \htbitmap{mx} points along the x-axis and ") - (text . "\space{1} \htbitmap{my} points along the y-axis. The ") - (text . "spline has \space{1} \htbitmap{px} knots ") - (text . "\htbitmap{lamdai} and \space{1}\htbitmap{py}") - (text . " knots \htbitmap{mui} in the x- and y-directions ") - (text . "respectively, and is given in the B-spline representation ") - (text . "\center{s(x,y) = \htbitmap{e01daf1}} ") - (text . "\blankline ") - (text . "\newline \menuitemstyle{}\tab{2} ") - (text . "\newline The value \space{1} \htbitmap{mx}: ") - (text . "\tab{32} \menuitemstyle{}\tab{34} ") - (text . "The value \space{1} \htbitmap{my}:") - (text . "\newline\tab{2} ") - (bcStrings (6 7 mx PI)) - (text . "\tab{34} ") - (bcStrings (6 6 my PI)) - (text . "\blankline") - (text . "\newline") - (text . "\menuitemstyle{} \tab{2} ") - (text . "\newline \tab{2} ") - (text . "Ifail value: ") - (radioButtons ifail - ("" " -1, Print error messages" minusOne) - ("" " 1, Suppress error messages" one))) - htMakeDoneButton('"Continue", 'e01dafSolve) - htShowPage() - -e01dafSolve htPage == - mx := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'mx) - objValUnwrap htpLabelSpadValue(htPage, 'mx) - my := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'my) - objValUnwrap htpLabelSpadValue(htPage, 'my) - error := htpButtonValue(htPage,'ifail) - ifail := - error = 'one => '1 - '-1 - (mx = '7 and my = '6) => e01dafDefaultSolve(htPage,ifail) - xList := - "append"/[f(i) for i in 1..mx] where f(i) == - xnam := INTERN STRCONC ('"x",STRINGIMAGE i) - [['bcStrings,[6, 0.0, xnam, 'F]]] - prefix := ('"\newline \menuitemstyle{}\tab{2} Values of X(1) to X(MX): \newline ") - xList := [['text,:prefix],:xList] - yList := - "append"/[g(i) for i in 1..my] where g(i) == - ynam := INTERN STRCONC ('"y",STRINGIMAGE i) - [['bcStrings,[6, 0.0, ynam, 'F]]] - prefix := ('"\blankline\menuitemstyle{}\tab{2}Values of Y(1) to Y(MY): \newline ") - yList := [['text,:prefix],:yList] - fList := - "append"/[h(j,my) for j in 1..mx] where h(j,my) == - tempList := - "append"/[k(j,m) for m in 1..my] where k(j,m) == - fnam := INTERN STRCONC ('"f",STRINGIMAGE j, STRINGIMAGE m) - [['bcStrings,[6, 0.0, fnam, 'F]]] - prefix := ('"\newline ") - tempList := [['text,:prefix],:tempList] - prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of F(MX*MY) ") - prefix := STRCONC(prefix,'"(x down, y across): ") - fList := [['text,:prefix],:fList] - equationPart := [ - '(domainConditions - (isDomain P (Polynomial $EmptyMode)) - (isDomain S (String)) - (isDomain F (Float)) - (isDomain PI (PositiveInteger))), - :xList,:yList,:fList] - page := htInitPage("E01DAF - Interpolating functions, fitting bicubic spline, data on a rectanglar grid",htpPropertyList htPage) - htMakePage equationPart - htSay '"\blankline " - htMakeDoneButton('"Continue",'e01dafGen) - htpSetProperty(page,'mx,mx) - htpSetProperty(page,'my,my) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - -e01dafDefaultSolve (htPage,ifail) == - mx := '7 - my := '6 - page := htInitPage('"E01DAF - Interpolating functions, fitting bicubic spline, data on rectangular grid",htpPropertyList htPage) - htMakePage '( - (domainConditions - (isDomain F (Float))) - (text . "\menuitemstyle{}\tab{2} Values of X(1) to X(MX): ") - (text . "\newline ") - (bcStrings (6 "1.00" x1 F)) - (bcStrings (6 "1.10" x2 F)) - (bcStrings (6 "1.30" x3 F)) - (bcStrings (6 "1.50" x4 F)) - (bcStrings (6 "1.60" x5 F)) - (bcStrings (6 "1.80" x6 F)) - (bcStrings (6 "2.00" x7 F)) - (text . "\blankline ") - (text . "\newline ") - (text ."\menuitemstyle{} \tab{2} Values of Y(1) to Y(MY): ") - (text . "\newline ") - (bcStrings (6 "0.00" y1 F)) - (bcStrings (6 "0.10" y2 F)) - (bcStrings (6 "0.40" y3 F)) - (bcStrings (6 "0.70" y4 F)) - (bcStrings (6 "0.90" y5 F)) - (bcStrings (6 "1.00" y6 F)) - (text . "\blankline ") - (text . "\newline ") - (text . "\menuitemstyle{} \tab{2} Values of F(MX*MY) (x down, y across): ") - (text . "\newline ") - (bcStrings (6 "1.00" z11 F)) - (bcStrings (6 "1.10" z21 F)) - (bcStrings (6 "1.40" z31 F)) - (bcStrings (6 "1.70" z41 F)) - (bcStrings (6 "1.90" z51 F)) - (bcStrings (6 "2.00" z61 F)) - (text . "\newline ") - (bcStrings (6 "1.21" z12 F)) - (bcStrings (6 "1.31" z22 F)) - (bcStrings (6 "1.61" z32 F)) - (bcStrings (6 "1.91" z42 F)) - (bcStrings (6 "2.11" z52 F)) - (bcStrings (6 "2.21" z62 F)) - (text . "\newline ") - (bcStrings (6 "1.69" z13 F)) - (bcStrings (6 "1.79" z23 F)) - (bcStrings (6 "2.09" z33 F)) - (bcStrings (6 "2.39" z43 F)) - (bcStrings (6 "2.59" z53 F)) - (bcStrings (6 "2.69" z63 F)) - (text . "\newline ") - (bcStrings (6 "2.25" z14 F)) - (bcStrings (6 "2.35" z24 F)) - (bcStrings (6 "2.65" z34 F)) - (bcStrings (6 "2.95" z44 F)) - (bcStrings (6 "3.15" z54 F)) - (bcStrings (6 "3.25" z64 F)) - (text . "\newline ") - (bcStrings (6 "2.56" z15 F)) - (bcStrings (6 "2.66" z25 F)) - (bcStrings (6 "2.96" z35 F)) - (bcStrings (6 "3.26" z45 F)) - (bcStrings (6 "3.46" z55 F)) - (bcStrings (6 "3.56" z65 F)) - (text . "\newline ") - (bcStrings (6 "3.24" z16 F)) - (bcStrings (6 "3.34" z26 F)) - (bcStrings (6 "3.64" z36 F)) - (bcStrings (6 "3.94" z46 F)) - (bcStrings (6 "4.14" z56 F)) - (bcStrings (6 "4.24" z66 F)) - (text . "\newline ") - (bcStrings (6 "4.00" z17 F)) - (bcStrings (6 "4.10" z27 F)) - (bcStrings (6 "4.40" z37 F)) - (bcStrings (6 "4.70" z47 F)) - (bcStrings (6 "4.90" z57 F)) - (bcStrings (6 "5.00" z67 F)) - (text . "\blankline")) - htMakeDoneButton('"Continue",'e01dafGen) - htpSetProperty(page,'mx,mx) - htpSetProperty(page,'my,my) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - - -e01dafGen htPage == - mx := htpProperty(htPage,'mx) - my := htpProperty(htPage,'my) - ifail := htpProperty(htPage,'ifail) - alist := htpInputAreaAlist htPage - y := alist - while y repeat - right := STRCONC ((first y).1, " ") - y := rest y - xlist := [right,:xlist] - for i in 1..mx repeat - xmx := [:xmx,(first xlist)] - xlist := rest xlist - xstring := bcwords2liststring xmx - for i in 1..my repeat - ymy := [:ymy,(first xlist)] - xlist := rest xlist - ystring := bcwords2liststring ymy - fstring := bcwords2liststring xlist - prefix := STRCONC('"e01daf(",STRINGIMAGE mx,", ",STRINGIMAGE my,",[") - midd := STRCONC(xstring, "], [",ystring,"], [",fstring,"], ") - linkGen STRCONC(prefix,midd,STRINGIMAGE ifail,")") - -e01saf() == - htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables", nil) - htMakePage '( - (domainConditions - (isDomain PI (PositiveInteger))) - (text . "\windowlink{Manual Page}{manpageXXe01saf} for this routine ") - (text . "\newline ") - (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01saf| '|NagInterpolationPackage|)} for this routine") - (text . "\newline \horizontalline ") - (text . "Determines a \htbitmap{c1} piecewise polynomial ") - (text . "surface F(x,y) interpolating the set of scattered points ") - (text . "(\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}), ") - (text . "for r = 1,2,...,m, using a method of Renka and Cline. ") - (text . "The interpolant can be evaluated using E01SBF. ") - (text . "\blankline ") - (text . "\newline \menuitemstyle{}\tab{2} \newline ") - (text . "Number of data points {\em m} \htbitmap{great=} 3:") - (text . "\newline \tab{2} ") - (bcStrings (6 30 m PI)) - (text . "\blankline") - (text . "\newline") - (text . "\menuitemstyle{} \tab{2} ") - (text . "\newline \tab{2} ") - (text . "Ifail value: ") - (radioButtons ifail - ("" " -1, Print error messages" minusOne) - ("" " 1, Suppress error messages" one))) - htMakeDoneButton('"Continue", 'e01safSolve) - htShowPage() - -e01safSolve htPage == - m := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) - objValUnwrap htpLabelSpadValue(htPage, 'm) - error := htpButtonValue(htPage,'ifail) - ifail := - error = 'one => '1 - '-1 - m = '30 => e01safDefaultSolve(htPage,ifail) - labelList := - "append"/[f(i) for i in 1..m] where f(i) == - prefix := ('"\newline \tab{2} ") - middle := ('"\tab{22} ") - post := ('" \tab{42} ") - xnam := INTERN STRCONC ('"x",STRINGIMAGE i) - ynam := INTERN STRCONC ('"y",STRINGIMAGE i) - znam := INTERN STRCONC ('"z",STRINGIMAGE i) - num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) - [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], - ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], - ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] - equationPart := [ - '(domainConditions - (isDomain P (Polynomial $EmptyMode)) - (isDomain S (String)) - (isDomain F (Float)) - (isDomain PI (PositiveInteger))), - :labelList] - page := htInitPage("E01SAF - Interpolating functions, method of Renka and Cline,two variables",htpPropertyList htPage) - htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " - htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " - htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" - htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " - htSay '"\htbitmap{dr}: " - htMakePage equationPart - htSay '"\blankline " - htMakeDoneButton('"Continue",'e01safGen) - htpSetProperty(page,'m,m) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - - -e01safDefaultSolve (htPage, ifail) == - m := '30 - page := htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables",htpPropertyList htPage) - htMakePage '( - (domainConditions - (isDomain F (Float))) - (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") - (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") - (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") - (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") - (text . "\htbitmap{dr}: ") - (text . "\newline \tab{2}") - (bcStrings (10 "11.16" x1 F)) - (text . "\tab{22} ") - (bcStrings (10 "1.24" y1 F)) - (text . "\tab{42} ") - (bcStrings (10 "22.15" z1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.85" x2 F)) - (text . "\tab{22} ") - (bcStrings (10 "3.06" y2 F)) - (text . "\tab{42} ") - (bcStrings (10 "22.11" z2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "19.85" x3 F)) - (text . "\tab{22} ") - (bcStrings (10 "10.72" y3 F)) - (text . "\tab{42} ") - (bcStrings (10 "7.97" z3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "19.72" x4 F)) - (text . "\tab{22} ") - (bcStrings (10 "1.39" y4 F)) - (text . "\tab{42} ") - (bcStrings (10 "16.83" z4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.91" x5 F)) - (text . "\tab{22} ") - (bcStrings (10 "7.74" y5 F)) - (text . "\tab{42} ") - (bcStrings (10 "15.30" z5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.00" x6 F)) - (text . "\tab{22} ") - (bcStrings (10 "20.00" y6 F)) - (text . "\tab{42} ") - (bcStrings (10 "34.60" z6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "20.87" x7 F)) - (text . "\tab{22} ") - (bcStrings (10 "20.00" y7 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.74" z7 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "3.45" x8 F)) - (text . "\tab{22} ") - (bcStrings (10 "12.78" y8 F)) - (text . "\tab{42} ") - (bcStrings (10 "41.24" z8 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "14.26" x9 F)) - (text . "\tab{22} ") - (bcStrings (10 "17.87" y9 F)) - (text . "\tab{42} ") - (bcStrings (10 "10.74" z9 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "17.43" x10 F)) - (text . "\tab{22} ") - (bcStrings (10 "3.46" y10 F)) - (text . "\tab{42} ") - (bcStrings (10 "18.60" z10 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "22.80" x11 F)) - (text . "\tab{22} ") - (bcStrings (10 "12.39" y11 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.47" z11 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "7.58" x12 F)) - (text . "\tab{22} ") - (bcStrings (10 "1.98" y12 F)) - (text . "\tab{42} ") - (bcStrings (10 "29.87" z12 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "25.00" x13 F)) - (text . "\tab{22} ") - (bcStrings (10 "11.87" y13 F)) - (text . "\tab{42} ") - (bcStrings (10 "4.40" z13 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.00" x14 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.00" y14 F)) - (text . "\tab{42} ") - (bcStrings (10 "58.20" z14 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "9.66" x15 F)) - (text . "\tab{22} ") - (bcStrings (10 "20.00" y15 F)) - (text . "\tab{42} ") - (bcStrings (10 "4.73" z15 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "5.22" x16 F)) - (text . "\tab{22} ") - (bcStrings (10 "14.66" y16 F)) - (text . "\tab{42} ") - (bcStrings (10 "40.36" z16 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "17.25" x17 F)) - (text . "\tab{22} ") - (bcStrings (10 "19.57" y17 F)) - (text . "\tab{42} ") - (bcStrings (10 "6.43" z17 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "25.00" x18 F)) - (text . "\tab{22} ") - (bcStrings (10 "3.87" y18 F)) - (text . "\tab{42} ") - (bcStrings (10 "8.74" z18 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.13" x19 F)) - (text . "\tab{22} ") - (bcStrings (10 "10.79" y19 F)) - (text . "\tab{42} ") - (bcStrings (10 "13.71" z19 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "22.23" x20 F)) - (text . "\tab{22} ") - (bcStrings (10 "6.21" y20 F)) - (text . "\tab{42} ") - (bcStrings (10 "10.25" z20 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "11.52" x21 F)) - (text . "\tab{22} ") - (bcStrings (10 "8.53" y21 F)) - (text . "\tab{42} ") - (bcStrings (10 "15.74" z21 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.20" x22 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.0" y22 F)) - (text . "\tab{42} ") - (bcStrings (10 "21.60" z22 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "7.54" x23 F)) - (text . "\tab{22} ") - (bcStrings (10 "10.69" y23 F)) - (text . "\tab{42} ") - (bcStrings (10 "19.31" z23 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "17.32" x24 F)) - (text . "\tab{22} ") - (bcStrings (10 "13.78" y24 F)) - (text . "\tab{42} ") - (bcStrings (10 "12.11" z24 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "2.14" x25 F)) - (text . "\tab{22} ") - (bcStrings (10 "15.03" y25 F)) - (text . "\tab{42} ") - (bcStrings (10 "53.10" z25 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.51" x26 F)) - (text . "\tab{22} ") - (bcStrings (10 "8.37" y26 F)) - (text . "\tab{42} ") - (bcStrings (10 "49.43" z26 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "22.69" x27 F)) - (text . "\tab{22} ") - (bcStrings (10 "19.63" y27 F)) - (text . "\tab{42} ") - (bcStrings (10 "3.25" z27 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "5.47" x28 F)) - (text . "\tab{22} ") - (bcStrings (10 "17.13" y28 F)) - (text . "\tab{42} ") - (bcStrings (10 "28.63" z28 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "21.67" x29 F)) - (text . "\tab{22} ") - (bcStrings (10 "14.36" y29 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.52" z29 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "3.31" x30 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.33" y30 F)) - (text . "\tab{42} ") - (bcStrings (10 "44.08" z30 F)) - (text . "\blankline")) - htMakeDoneButton('"Continue",'e01safGen) - htpSetProperty(page,'m,m) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - -e01safGen htPage == - m := htpProperty(htPage,'m) - ifail := htpProperty(htPage,'ifail) - alist := htpInputAreaAlist htPage - y := alist - while y repeat - right := STRCONC ((first y).1," ") - y := rest y - mid := STRCONC ((first y).1," ") - y := rest y - left := STRCONC ((first y).1," ") - y := rest y - xlist := [left,:xlist] - flist := [mid,:flist] - dlist := [right,:dlist] - xstring := bcwords2liststring xlist - fstring := bcwords2liststring flist - dstring := bcwords2liststring dlist - prefix := STRCONC('"e01saf(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[") - prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE ifail,")") - linkGen prefix - -e01sef() == - htInitPage('"E01SEF - Interpolating functions, modified Shepard's method, two variables", nil) - htMakePage '( - (domainConditions - (isDomain PI (PositiveInteger))) - (text . "\windowlink{Manual Page}{manpageXXe01sef} for this routine ") - (text . "\newline ") - (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01sef| '|NagInterpolationPackage|)} for this routine") - (text . "\newline \horizontalline ") - (text . "Determines a \htbitmap{c1} piecewise polynomial ") - (text . "surface F(x,y) interpolating the set of scattered points ") - (text . "(\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}), ") - (text . "for r = 1,2,...,m, using a modified Shepard method. ") - (text . "The interpolant can be evaluated using E01SFF. ") - (text . "\blankline ") - (text . "\newline \menuitemstyle{}\tab{2} \newline ") - (text . "Number of data points {\em m} \htbitmap{great=} 3:") - (text . "\newline \tab{2} ") - (bcStrings (6 30 m PI)) - (text . "\blankline ") - (text . "Note: RNW, RNQ, NW, NQ set to zero for default value. ") - (text . "On exit, they contain the value actually used. ") - (text . "\blankline ") - (text . "\newline ") - (text . "\menuitemstyle{}\tab{2}") - (text . "\newline {\em RNW} weight locality radius: ") - (text . "\tab{32} \menuitemstyle{}\tab{34}") - (text . "{\em RNQ} point locality radius:") - (text . "\newline\tab{2} ") - (bcStrings (6 "0.0" rnw F)) - (text . "\tab{34} ") - (bcStrings (6 "0.0" rnq F)) - (text . "\blankline ") - (text . "\newline ") - (text . "\menuitemstyle{}\tab{2} \newline") - (text . "{\em NW} average number of points within RNW of each point: ") - (text . "\newline \tab{2} ") - (bcStrings (6 0 nw I)) - (text . "\blankline ") - (text . "\newline ") - (text . "\menuitemstyle{}\tab{2} \newline") - (text . "{\em NQ} average number of points within RNQ of each point: ") - (text . "\newline \tab{2} ") - (bcStrings (6 0 nq I)) - (text . "\blankline") - (text . "\newline") - (text . "\menuitemstyle{} \tab{2} ") - (text . "\newline \tab{2} ") - (text . "Ifail value: ") - (radioButtons ifail - ("" " -1, Print error messages" minusOne) - ("" " 1, Suppress error messages" one))) - htMakeDoneButton('"Continue", 'e01sefSolve) - htShowPage() - -e01sefSolve htPage == - m := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) - objValUnwrap htpLabelSpadValue(htPage, 'm) - nw := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'nw) - objValUnwrap htpLabelSpadValue(htPage, 'nw) - nq := - $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'nq) - objValUnwrap htpLabelSpadValue(htPage, 'nq) - rnq := htpLabelInputString(htPage,'rnq) - rnw := htpLabelInputString(htPage,'rnw) - error := htpButtonValue(htPage,'ifail) - ifail := - error = 'one => '1 - '-1 - m = '30 => e01sefDefaultSolve(htPage,rnq,rnw,nq,nw,ifail) - labelList := - "append"/[f(i) for i in 1..m] where f(i) == - prefix := ('"\newline \tab{2} ") - middle := ('"\tab{22} ") - post := ('" \tab{42} ") - xnam := INTERN STRCONC ('"x",STRINGIMAGE i) - ynam := INTERN STRCONC ('"y",STRINGIMAGE i) - znam := INTERN STRCONC ('"z",STRINGIMAGE i) - num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) - [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], - ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], - ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] - equationPart := [ - '(domainConditions - (isDomain P (Polynomial $EmptyMode)) - (isDomain S (String)) - (isDomain F (Float)) - (isDomain PI (PositiveInteger))), - :labelList] - page := htInitPage("E01SEF - Interpolating functions, modified Shepard's method, two variables",htpPropertyList htPage) - htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " - htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " - htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" - htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " - htSay '"\htbitmap{dr}: " - htMakePage equationPart - htSay '"\blankline " - htMakeDoneButton('"Continue",'e01sefGen) - htpSetProperty(page,'m,m) - htpSetProperty(page,'rnq,rnq) - htpSetProperty(page,'rnw,rnw) - htpSetProperty(page,'nq,nq) - htpSetProperty(page,'nw,nw) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - - -e01sefDefaultSolve (htPage,rnq,rnw,nq,nw,ifail) == - m := '30 - page := htInitPage('"E01SEF - Interpolating functions, modified Shepard's method, two variables",htpPropertyList htPage) - htMakePage '( - (domainConditions - (isDomain F (Float))) - (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") - (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") - (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") - (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") - (text . "\htbitmap{dr}: ") - (text . "\newline \tab{2}") - (bcStrings (10 "11.16" x1 F)) - (text . "\tab{22} ") - (bcStrings (10 "1.24" y1 F)) - (text . "\tab{42} ") - (bcStrings (10 "22.15" z1 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.85" x2 F)) - (text . "\tab{22} ") - (bcStrings (10 "3.06" y2 F)) - (text . "\tab{42} ") - (bcStrings (10 "22.11" z2 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "19.85" x3 F)) - (text . "\tab{22} ") - (bcStrings (10 "10.72" y3 F)) - (text . "\tab{42} ") - (bcStrings (10 "7.97" z3 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "19.72" x4 F)) - (text . "\tab{22} ") - (bcStrings (10 "1.39" y4 F)) - (text . "\tab{42} ") - (bcStrings (10 "16.83" z4 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.91" x5 F)) - (text . "\tab{22} ") - (bcStrings (10 "7.74" y5 F)) - (text . "\tab{42} ") - (bcStrings (10 "15.30" z5 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.00" x6 F)) - (text . "\tab{22} ") - (bcStrings (10 "20.00" y6 F)) - (text . "\tab{42} ") - (bcStrings (10 "34.60" z6 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "20.87" x7 F)) - (text . "\tab{22} ") - (bcStrings (10 "20.00" y7 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.74" z7 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "3.45" x8 F)) - (text . "\tab{22} ") - (bcStrings (10 "12.78" y8 F)) - (text . "\tab{42} ") - (bcStrings (10 "41.24" z8 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "14.26" x9 F)) - (text . "\tab{22} ") - (bcStrings (10 "17.87" y9 F)) - (text . "\tab{42} ") - (bcStrings (10 "10.74" z9 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "17.43" x10 F)) - (text . "\tab{22} ") - (bcStrings (10 "3.46" y10 F)) - (text . "\tab{42} ") - (bcStrings (10 "18.60" z10 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "22.80" x11 F)) - (text . "\tab{22} ") - (bcStrings (10 "12.39" y11 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.47" z11 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "7.58" x12 F)) - (text . "\tab{22} ") - (bcStrings (10 "1.98" y12 F)) - (text . "\tab{42} ") - (bcStrings (10 "29.87" z12 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "25.00" x13 F)) - (text . "\tab{22} ") - (bcStrings (10 "11.87" y13 F)) - (text . "\tab{42} ") - (bcStrings (10 "4.40" z13 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.00" x14 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.00" y14 F)) - (text . "\tab{42} ") - (bcStrings (10 "58.20" z14 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "9.66" x15 F)) - (text . "\tab{22} ") - (bcStrings (10 "20.00" y15 F)) - (text . "\tab{42} ") - (bcStrings (10 "4.73" z15 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "5.22" x16 F)) - (text . "\tab{22} ") - (bcStrings (10 "14.66" y16 F)) - (text . "\tab{42} ") - (bcStrings (10 "40.36" z16 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "17.25" x17 F)) - (text . "\tab{22} ") - (bcStrings (10 "19.57" y17 F)) - (text . "\tab{42} ") - (bcStrings (10 "6.43" z17 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "25.00" x18 F)) - (text . "\tab{22} ") - (bcStrings (10 "3.87" y18 F)) - (text . "\tab{42} ") - (bcStrings (10 "8.74" z18 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "12.13" x19 F)) - (text . "\tab{22} ") - (bcStrings (10 "10.79" y19 F)) - (text . "\tab{42} ") - (bcStrings (10 "13.71" z19 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "22.23" x20 F)) - (text . "\tab{22} ") - (bcStrings (10 "6.21" y20 F)) - (text . "\tab{42} ") - (bcStrings (10 "10.25" z20 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "11.52" x21 F)) - (text . "\tab{22} ") - (bcStrings (10 "8.53" y21 F)) - (text . "\tab{42} ") - (bcStrings (10 "15.74" z21 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "15.20" x22 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.0" y22 F)) - (text . "\tab{42} ") - (bcStrings (10 "21.60" z22 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "7.54" x23 F)) - (text . "\tab{22} ") - (bcStrings (10 "10.69" y23 F)) - (text . "\tab{42} ") - (bcStrings (10 "19.31" z23 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "17.32" x24 F)) - (text . "\tab{22} ") - (bcStrings (10 "13.78" y24 F)) - (text . "\tab{42} ") - (bcStrings (10 "12.11" z24 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "2.14" x25 F)) - (text . "\tab{22} ") - (bcStrings (10 "15.03" y25 F)) - (text . "\tab{42} ") - (bcStrings (10 "53.10" z25 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "0.51" x26 F)) - (text . "\tab{22} ") - (bcStrings (10 "8.37" y26 F)) - (text . "\tab{42} ") - (bcStrings (10 "49.43" z26 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "22.69" x27 F)) - (text . "\tab{22} ") - (bcStrings (10 "19.63" y27 F)) - (text . "\tab{42} ") - (bcStrings (10 "3.25" z27 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "5.47" x28 F)) - (text . "\tab{22} ") - (bcStrings (10 "17.13" y28 F)) - (text . "\tab{42} ") - (bcStrings (10 "28.63" z28 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "21.67" x29 F)) - (text . "\tab{22} ") - (bcStrings (10 "14.36" y29 F)) - (text . "\tab{42} ") - (bcStrings (10 "5.52" z29 F)) - (text . "\newline \tab{2} ") - (bcStrings (10 "3.31" x30 F)) - (text . "\tab{22} ") - (bcStrings (10 "0.33" y30 F)) - (text . "\tab{42} ") - (bcStrings (10 "44.08" z30 F)) - (text . "\blankline")) - htMakeDoneButton('"Continue",'e01sefGen) - htpSetProperty(page,'m,m) - htpSetProperty(page,'rnq,rnq) - htpSetProperty(page,'rnw,rnw) - htpSetProperty(page,'nq,nq) - htpSetProperty(page,'nw,nw) - htpSetProperty(page,'ifail,ifail) - htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) - htShowPage() - -e01sefGen htPage == - m := htpProperty(htPage,'m) - rnw := htpProperty(htPage,'rnw) - rnq := htpProperty(htPage,'rnq) - nw := htpProperty(htPage,'nw) - nq := htpProperty(htPage,'nq) - ifail := htpProperty(htPage,'ifail) - alist := htpInputAreaAlist htPage - y := alist - while y repeat - right := STRCONC ((first y).1," ") - y := rest y - mid := STRCONC ((first y).1," ") - y := rest y - left := STRCONC ((first y).1," ") - y := rest y - xlist := [left,:xlist] - flist := [mid,:flist] - dlist := [right,:dlist] - xstring := bcwords2liststring xlist - fstring := bcwords2liststring flist - dstring := bcwords2liststring dlist - prefix := STRCONC('"e01sef(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[") - prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE nw,", ",STRINGIMAGE nq) - prefix := STRCONC(prefix,", ",rnw,", ",rnq,", ",STRINGIMAGE ifail,")") - linkGen prefix -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} diff --git a/src/interp/nag-e01.lisp.pamphlet b/src/interp/nag-e01.lisp.pamphlet new file mode 100644 index 0000000..0e2aafa --- /dev/null +++ b/src/interp/nag-e01.lisp.pamphlet @@ -0,0 +1,4161 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/interp nag-e01.lisp} +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +<<*>>= + +(IN-PACKAGE "BOOT" ) + +;e01baf() == +; htInitPage('"E01BAF - Interpolating functions, cubic spline interpolant, one variable", nil) +; htMakePage '( +; (domainConditions +; (isDomain PI (PositiveInteger))) +; (text . "\windowlink{Manual Page}{manpageXXe01baf} for this routine ") +; (text . "\newline ") +; (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01baf| '|NagInterpolationPackage|)} for this routine") +; (text . "\newline \horizontalline ") +; (text . "Determines a cubic B-spline interpolant ") +; (text . "\center{s(x) = \htbitmap{e01baf}} to the points ") +; (text . "(\htbitmap{xiii}, \htbitmap{yi}), for i = 1,2,...,m. ") +; (text . "\blankline ") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "Enter the number of data points, {\it m}:") +; (text . "\newline\tab{2} ") +; (bcStrings (5 7 m PI)) +; (text . "\blankline") +; (text . "\newline") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "\newline \tab{2} ") +; (text . "Ifail value: ") +; (radioButtons ifail +; ("" " -1, Print error messages" minusOne) +; ("" " 1, Suppress error messages" one))) +; htMakeDoneButton('"Continue", 'e01bafSolve) +; htShowPage() + +(DEFUN |e01baf| () + (PROGN + (|htInitPage| + (MAKESTRING + "E01BAF - Interpolating functions, cubic spline interpolant, one variable") + NIL) + (|htMakePage| + '((|domainConditions| (|isDomain| PI (|PositiveInteger|))) + (|text| + . "\\windowlink{Manual Page}{manpageXXe01baf} for this routine ") + (|text| . "\\newline ") + (|text| + . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01baf| '|NagInterpolationPackage|)} for this routine") + (|text| . "\\newline \\horizontalline ") + (|text| . "Determines a cubic B-spline interpolant ") + (|text| + . "\\center{s(x) = \\htbitmap{e01baf}} to the points ") + (|text| + . "(\\htbitmap{xiii}, \\htbitmap{yi}), for i = 1,2,...,m. ") + (|text| . "\\blankline ") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "Enter the number of data points, {\\it m}:") + (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 7 |m| PI)) + (|text| . "\\blankline") (|text| . "\\newline") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ") + (|radioButtons| |ifail| + ("" " -1, Print error messages" |minusOne|) + ("" " 1, Suppress error messages" |one|)))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bafSolve|) + (|htShowPage|))) + +;e01bafSolve htPage == +; m := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) +; objValUnwrap htpLabelSpadValue(htPage, 'm) +; error := htpButtonValue(htPage,'ifail) +; ifail := +; error = 'one => '1 +; '-1 +; m = '7 => e01bafDefaultSolve(htPage,ifail) +; labelList := +; "append"/[f(i) for i in 1..m] where f(i) == +; prefix := ('"\newline \tab{2} ") +; post := ('"\tab{32} ") +; xnam := INTERN STRCONC ('"x",STRINGIMAGE i) +; ynam := INTERN STRCONC ('"y",STRINGIMAGE i) +; num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) +; [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], +; ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]] +; equationPart := [ +; '(domainConditions +; (isDomain P (Polynomial $EmptyMode)) +; (isDomain S (String)) +; (isDomain F (Float)) +; (isDomain PI (PositiveInteger))), +; :labelList] +; page := htInitPage("E01BAF - Interpolating functions, cubic spline interpolant, one variable",htpPropertyList htPage) +; htSay '"\menuitemstyle{}\tab{2} Values of x: \tab{30} " +; htSay '"\menuitemstyle{}\tab{32} Corresponding values of y: " +; htMakePage equationPart +; htSay '"\blankline " +; htMakeDoneButton('"Continue",'e01bafGen) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01bafSolve,f| (|i|) + (PROG (|prefix| |post| |xnam| |ynam| |num|) + (RETURN + (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |post| (MAKESTRING "\\tab{32} ")) + (SPADLET |xnam| + (INTERN (STRCONC (MAKESTRING "x") + (STRINGIMAGE |i|)))) + (SPADLET |ynam| + (INTERN (STRCONC (MAKESTRING "y") + (STRINGIMAGE |i|)))) + (SPADLET |num| + (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10)) + (INTERN "." "BOOT") + (STRINGIMAGE (REM |i| 10))))) + (EXIT (CONS (CONS '|text| |prefix|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS |num| + (CONS |xnam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |post|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |ynam| (CONS 'F NIL)))) + NIL)) + NIL))))))))) + +(DEFUN |e01bafSolve| (|htPage|) + (PROG (|m| |error| |ifail| |labelList| |equationPart| |page|) + (declare (special |$EmptyMode| |$bcParseOnly|)) + (RETURN + (SEQ (PROGN + (SPADLET |m| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|m|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|m|))))) + (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|)) + (SPADLET |ifail| + (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1))) + (COND + ((BOOT-EQUAL |m| '7) + (|e01bafDefaultSolve| |htPage| |ifail|)) + ('T + (SPADLET |labelList| + (PROG (G166074) + (SPADLET G166074 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |m|) G166074) + (SEQ (EXIT + (SETQ G166074 + (APPEND G166074 + (|e01bafSolve,f| |i|))))))))) + (SPADLET |equationPart| + (CONS '(|domainConditions| + (|isDomain| P + (|Polynomial| |$EmptyMode|)) + (|isDomain| S (|String|)) + (|isDomain| F (|Float|)) + (|isDomain| PI (|PositiveInteger|))) + |labelList|)) + (SPADLET |page| + (|htInitPage| + '|E01BAF - Interpolating functions, cubic spline interpolant, one variable| + (|htpPropertyList| |htPage|))) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{2} Values of x: \\tab{30} ")) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{32} Corresponding values of y: ")) + (|htMakePage| |equationPart|) + (|htSay| (MAKESTRING "\\blankline ")) + (|htMakeDoneButton| (MAKESTRING "Continue") + '|e01bafGen|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|)))))))) + +;e01bafDefaultSolve (htPage, ifail) == +; m := '7 +; page := htInitPage('"E01BAF - Interpolating functions, cubic spline interpolant, one variable",htpPropertyList htPage) +; htMakePage '( +; (domainConditions +; (isDomain F (Float))) +; (text . "\newline ") +; (text . "\menuitemstyle{}\tab{2} Values of x: \tab{30} ") +; (text . "\menuitemstyle{}\tab{32} Corresponding values of y: ") +; (text . "\newline \tab{2}") +; (bcStrings (10 "0.0" x1 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "1.0000" y1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.2" x2 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "1.2214" y2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.4" x3 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "1.4918" y3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.6" x4 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "1.8221" y4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.75" x5 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "2.1170" y5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.9" x6 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "2.4596" y6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "1.0" x7 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "2.7183" y7 F)) +; (text . "\blankline")) +; htMakeDoneButton('"Continue",'e01bafGen) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01bafDefaultSolve| (|htPage| |ifail|) + (PROG (|m| |page|) + (RETURN + (PROGN + (SPADLET |m| '7) + (SPADLET |page| + (|htInitPage| + (MAKESTRING + "E01BAF - Interpolating functions, cubic spline interpolant, one variable") + (|htpPropertyList| |htPage|))) + (|htMakePage| + '((|domainConditions| (|isDomain| F (|Float|))) + (|text| . "\\newline ") + (|text| + . "\\menuitemstyle{}\\tab{2} Values of x: \\tab{30} ") + (|text| + . "\\menuitemstyle{}\\tab{32} Corresponding values of y: ") + (|text| . "\\newline \\tab{2}") + (|bcStrings| (10 "0.0" |x1| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "1.0000" |y1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.2" |x2| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "1.2214" |y2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.4" |x3| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "1.4918" |y3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.6" |x4| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "1.8221" |y4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.75" |x5| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "2.1170" |y5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.9" |x6| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "2.4596" |y6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "1.0" |x7| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "2.7183" |y7| F)) + (|text| . "\\blankline"))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bafGen|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|))))) + +;e01bafGen htPage == +; m := htpProperty(htPage,'m) +; ifail := htpProperty(htPage,'ifail) +; alist := htpInputAreaAlist htPage +; lck := m + 4 +; lwrk := 6*m+16 +; y := alist +; while y repeat +; right := STRCONC ((first y).1," ") +; y := rest y +; left := STRCONC ((first y).1," ") +; y := rest y +; reallist := [left,:reallist] +; imaglist := [right,:imaglist] +; realstring := bcwords2liststring reallist +; imagstring := bcwords2liststring imaglist +; pre := STRCONC ('"e01baf(",STRINGIMAGE m,",[",realstring,"],[",imagstring) +; post := STRCONC ('"],",STRINGIMAGE lck,",",STRINGIMAGE lwrk,",") +; linkGen STRCONC (pre,post,STRINGIMAGE ifail,")") + +(DEFUN |e01bafGen| (|htPage|) + (PROG (|m| |ifail| |alist| |lck| |lwrk| |right| |left| |y| |reallist| + |imaglist| |realstring| |imagstring| |pre| |post|) + (RETURN + (SEQ (PROGN + (SPADLET |m| (|htpProperty| |htPage| '|m|)) + (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|)) + (SPADLET |alist| (|htpInputAreaAlist| |htPage|)) + (SPADLET |lck| (PLUS |m| 4)) + (SPADLET |lwrk| (PLUS (TIMES 6 |m|) 16)) + (SPADLET |y| |alist|) + (DO () ((NULL |y|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |right| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |left| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |reallist| + (CONS |left| |reallist|)) + (SPADLET |imaglist| + (CONS |right| |imaglist|)))))) + (SPADLET |realstring| (|bcwords2liststring| |reallist|)) + (SPADLET |imagstring| (|bcwords2liststring| |imaglist|)) + (SPADLET |pre| + (STRCONC (MAKESTRING "e01baf(") (STRINGIMAGE |m|) + '|,[| |realstring| '|],[| |imagstring|)) + (SPADLET |post| + (STRCONC (MAKESTRING "],") (STRINGIMAGE |lck|) + '|,| (STRINGIMAGE |lwrk|) '|,|)) + (|linkGen| + (STRCONC |pre| |post| (STRINGIMAGE |ifail|) '|)|))))))) + +;e01bef() == +; htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable", nil) +; htMakePage '( +; (domainConditions +; (isDomain PI (PositiveInteger))) +; (text . "\windowlink{Manual Page}{manpageXXe01bef} for this routine ") +; (text . "\newline ") +; (text . "\lispwindowlink{Brow[Cser operation page}{(|oPageFrom| '|e01bef| '|NagInterpolationPackage|)} for this routine") +; (text . "\newline \horizontalline ") +; (text . "Determines derivative estimates defining a monoticity preserving") +; (text . " piecewise cubic Hermite interpolant to the set of points ") +; (text . "(\htbitmap{xr}, \htbitmap{fr}), ") +; (text . "for r = 1,2,...,m. The interpolant, its derivative, and its ") +; (text . "integral can be evaluated by calls to E01BFF, E01BGF or E01BHF. ") +; (text . "\blankline ") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "Enter the number of data points {\it n} \htbitmap{great=} 2:") +; (text . "\newline\tab{2} ") +; (bcStrings (5 9 n PI)) +; (text . "\blankline") +; (text . "\newline") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "\newline \tab{2} ") +; (text . "Ifail value: ") +; (radioButtons ifail +; ("" " -1, Print error messages" minusOne) +; ("" " 1, Suppress error messages" one))) +; htMakeDoneButton('"Continue", 'e01befSolve) +; htShowPage() + +(DEFUN |e01bef| () + (PROGN + (|htInitPage| + (MAKESTRING + "E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable") + NIL) + (|htMakePage| + '((|domainConditions| (|isDomain| PI (|PositiveInteger|))) + (|text| + . "\\windowlink{Manual Page}{manpageXXe01bef} for this routine ") + (|text| . "\\newline ") + (|text| + . "\\lispwindowlink{Brow[Cser operation page}{(|oPageFrom| '|e01bef| '|NagInterpolationPackage|)} for this routine") + (|text| . "\\newline \\horizontalline ") + (|text| + . "Determines derivative estimates defining a monoticity preserving") + (|text| + . " piecewise cubic Hermite interpolant to the set of points ") + (|text| . "(\\htbitmap{xr}, \\htbitmap{fr}), ") + (|text| + . "for r = 1,2,...,m. The interpolant, its derivative, and its ") + (|text| + . "integral can be evaluated by calls to E01BFF, E01BGF or E01BHF. ") + (|text| . "\\blankline ") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| + . "Enter the number of data points {\\it n} \\htbitmap{great=} 2:") + (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 9 |n| PI)) + (|text| . "\\blankline") (|text| . "\\newline") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ") + (|radioButtons| |ifail| + ("" " -1, Print error messages" |minusOne|) + ("" " 1, Suppress error messages" |one|)))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01befSolve|) + (|htShowPage|))) + +;e01befSolve htPage == +; n := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) +; objValUnwrap htpLabelSpadValue(htPage, 'n) +; error := htpButtonValue(htPage,'ifail) +; ifail := +; error = 'one => '1 +; error = 'zero => '0 +; '-1 +; n = '9 => e01befDefaultSolve(htPage,ifail) +; labelList := +; "append"/[f(i) for i in 1..n] where f(i) == +; prefix := ('"\newline \tab{2} ") +; post := ('"\tab{32} ") +; xnam := INTERN STRCONC ('"x",STRINGIMAGE i) +; ynam := INTERN STRCONC ('"y",STRINGIMAGE i) +; num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) +; [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], +; ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]] +; equationPart := [ +; '(domainConditions +; (isDomain P (Polynomial $EmptyMode)) +; (isDomain S (String)) +; (isDomain F (Float)) +; (isDomain PI (PositiveInteger))), +; :labelList] +; page := htInitPage("E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable",htpPropertyList htPage) +; htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " +; htSay '"\htbitmap{xr}: \tab{30} " +; htSay '"\menuitemstyle{}\tab{32} Values of \space{1} " +; htSay '"\htbitmap{fr}: " +; htMakePage equationPart +; htSay '"\blankline " +; htMakeDoneButton('"Continue",'e01befGen) +; htpSetProperty(page,'n,n) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01befSolve,f| (|i|) + (PROG (|prefix| |post| |xnam| |ynam| |num|) + (RETURN + (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |post| (MAKESTRING "\\tab{32} ")) + (SPADLET |xnam| + (INTERN (STRCONC (MAKESTRING "x") + (STRINGIMAGE |i|)))) + (SPADLET |ynam| + (INTERN (STRCONC (MAKESTRING "y") + (STRINGIMAGE |i|)))) + (SPADLET |num| + (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10)) + (INTERN "." "BOOT") + (STRINGIMAGE (REM |i| 10))))) + (EXIT (CONS (CONS '|text| |prefix|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS |num| + (CONS |xnam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |post|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |ynam| (CONS 'F NIL)))) + NIL)) + NIL))))))))) + +(DEFUN |e01befSolve| (|htPage|) + (PROG (|n| |error| |ifail| |labelList| |equationPart| |page|) + (declare (special |$EmptyMode| |$bcParseOnly|)) + (RETURN + (SEQ (PROGN + (SPADLET |n| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|n|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|n|))))) + (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|)) + (SPADLET |ifail| + (COND + ((BOOT-EQUAL |error| '|one|) '1) + ((BOOT-EQUAL |error| '|zero|) '0) + ('T '-1))) + (COND + ((BOOT-EQUAL |n| '9) + (|e01befDefaultSolve| |htPage| |ifail|)) + ('T + (SPADLET |labelList| + (PROG (G166148) + (SPADLET G166148 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |n|) G166148) + (SEQ (EXIT + (SETQ G166148 + (APPEND G166148 + (|e01befSolve,f| |i|))))))))) + (SPADLET |equationPart| + (CONS '(|domainConditions| + (|isDomain| P + (|Polynomial| |$EmptyMode|)) + (|isDomain| S (|String|)) + (|isDomain| F (|Float|)) + (|isDomain| PI (|PositiveInteger|))) + |labelList|)) + (SPADLET |page| + (|htInitPage| + '|E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable| + (|htpPropertyList| |htPage|))) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")) + (|htSay| (MAKESTRING "\\htbitmap{xr}: \\tab{30} ")) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{32} Values of \\space{1} ")) + (|htSay| (MAKESTRING "\\htbitmap{fr}: ")) + (|htMakePage| |equationPart|) + (|htSay| (MAKESTRING "\\blankline ")) + (|htMakeDoneButton| (MAKESTRING "Continue") + '|e01befGen|) + (|htpSetProperty| |page| '|n| |n|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|)))))))) + +;e01befDefaultSolve (htPage, ifail) == +; n := '9 +; page := htInitPage('"E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable",htpPropertyList htPage) +; htMakePage '( +; (domainConditions +; (isDomain F (Float))) +; (text . "\newline ") +; (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") +; (text . "\htbitmap{xr}: \tab{30} ") +; (text . "\menuitemstyle{}\tab{32} Values of \space{1} \htbitmap{fr}: ") +; (text . "\newline \tab{2}") +; (bcStrings (10 "7.99" x1 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.00000e+0" y1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.09" x2 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.27643e-4" y2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.19" x3 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.43750e-1" y3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.70" x4 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.16918" y4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "9.20" x5 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.46943" y5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "10.00" x6 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.94374" y6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.00" x7 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.99864" y7 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.00" x8 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.99992" y8 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "20.00" x9 F)) +; (text . "\tab{32} ") +; (bcStrings (10 "0.99999" y9 F)) +; (text . "\blankline")) +; htMakeDoneButton('"Continue",'e01befGen) +; htpSetProperty(page,'n,n) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01befDefaultSolve| (|htPage| |ifail|) + (PROG (|n| |page|) + (RETURN + (PROGN + (SPADLET |n| '9) + (SPADLET |page| + (|htInitPage| + (MAKESTRING + "E01BEF - Interpolating functions, monoticity preserving, piecewise cubic Hermite, one variable") + (|htpPropertyList| |htPage|))) + (|htMakePage| + '((|domainConditions| (|isDomain| F (|Float|))) + (|text| . "\\newline ") + (|text| + . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ") + (|text| . "\\htbitmap{xr}: \\tab{30} ") + (|text| + . "\\menuitemstyle{}\\tab{32} Values of \\space{1} \\htbitmap{fr}: ") + (|text| . "\\newline \\tab{2}") + (|bcStrings| (10 "7.99" |x1| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.00000e+0" |y1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.09" |x2| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.27643e-4" |y2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.19" |x3| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.43750e-1" |y3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.70" |x4| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.16918" |y4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "9.20" |x5| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.46943" |y5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "10.00" |x6| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.94374" |y6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.00" |x7| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.99864" |y7| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.00" |x8| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.99992" |y8| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "20.00" |x9| F)) (|text| . "\\tab{32} ") + (|bcStrings| (10 "0.99999" |y9| F)) + (|text| . "\\blankline"))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01befGen|) + (|htpSetProperty| |page| '|n| |n|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|))))) + +;e01befGen htPage == +; n := htpProperty(htPage,'n) +; ifail := htpProperty(htPage,'ifail) +; alist := htpInputAreaAlist htPage +; lck := n + 4 +; lwrk := 6*n+16 +; y := alist +; while y repeat +; right := STRCONC ((first y).1," ") +; y := rest y +; left := STRCONC ((first y).1," ") +; y := rest y +; reallist := [left,:reallist] +; imaglist := [right,:imaglist] +; realstring := bcwords2liststring reallist +; imagstring := bcwords2liststring imaglist +; linkGen STRCONC ('"e01bef(",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],",STRINGIMAGE ifail,")") + +(DEFUN |e01befGen| (|htPage|) + (PROG (|n| |ifail| |alist| |lck| |lwrk| |right| |left| |y| |reallist| + |imaglist| |realstring| |imagstring|) + (RETURN + (SEQ (PROGN + (SPADLET |n| (|htpProperty| |htPage| '|n|)) + (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|)) + (SPADLET |alist| (|htpInputAreaAlist| |htPage|)) + (SPADLET |lck| (PLUS |n| 4)) + (SPADLET |lwrk| (PLUS (TIMES 6 |n|) 16)) + (SPADLET |y| |alist|) + (DO () ((NULL |y|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |right| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |left| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |reallist| + (CONS |left| |reallist|)) + (SPADLET |imaglist| + (CONS |right| |imaglist|)))))) + (SPADLET |realstring| (|bcwords2liststring| |reallist|)) + (SPADLET |imagstring| (|bcwords2liststring| |imaglist|)) + (|linkGen| + (STRCONC (MAKESTRING "e01bef(") (STRINGIMAGE |n|) + '|,[| |realstring| '|],[| |imagstring| '|],| + (STRINGIMAGE |ifail|) '|)|))))))) + +;e01bff() == +; htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable", nil) +; htMakePage '( +; (domainConditions +; (isDomain PI (PositiveInteger))) +; (text . "\windowlink{Manual Page}{manpageXXe01bff} for this routine ") +; (text . "\newline ") +; (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bff| '|NagInterpolationPackage|)} for this routine") +; (text . "\newline \horizontalline ") +; (text . "Evaluates the piecewise cubic Hermite interpolant computed ") +; (text . "by E01BEF at the set of points \htbitmap{xiii}, ") +; (text . "for i = 1,2,...,m. ") +; (text . "\blankline ") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "Enter the number of data points {\em n}: ") +; (text . "\newline\tab{2} ") +; (bcStrings (5 9 n PI)) +; (text . "\blankline ") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "Enter the number of evaluation points {\em m}: ") +; (text . "\newline\tab{2} ") +; (bcStrings (5 11 m PI)) +; (text . "\blankline") +; (text . "\newline") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "\newline \tab{2} ") +; (text . "Ifail value: ") +; (radioButtons ifail +; ("" " -1, Print error messages" minusOne) +; ("" " 1, Suppress error messages" one))) +; htMakeDoneButton('"Continue", 'e01bffSolve) +; htShowPage() + +(DEFUN |e01bff| () + (PROGN + (|htInitPage| + (MAKESTRING + "E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable") + NIL) + (|htMakePage| + '((|domainConditions| (|isDomain| PI (|PositiveInteger|))) + (|text| + . "\\windowlink{Manual Page}{manpageXXe01bff} for this routine ") + (|text| . "\\newline ") + (|text| + . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bff| '|NagInterpolationPackage|)} for this routine") + (|text| . "\\newline \\horizontalline ") + (|text| + . "Evaluates the piecewise cubic Hermite interpolant computed ") + (|text| + . "by E01BEF at the set of points \\htbitmap{xiii}, ") + (|text| . "for i = 1,2,...,m. ") (|text| . "\\blankline ") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "Enter the number of data points {\\em n}: ") + (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 9 |n| PI)) + (|text| . "\\blankline ") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "Enter the number of evaluation points {\\em m}: ") + (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 11 |m| PI)) + (|text| . "\\blankline") (|text| . "\\newline") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ") + (|radioButtons| |ifail| + ("" " -1, Print error messages" |minusOne|) + ("" " 1, Suppress error messages" |one|)))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bffSolve|) + (|htShowPage|))) + +;e01bffSolve htPage == +; n := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) +; objValUnwrap htpLabelSpadValue(htPage, 'n) +; m := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) +; objValUnwrap htpLabelSpadValue(htPage, 'm) +; error := htpButtonValue(htPage,'ifail) +; ifail := +; error = 'one => '1 +; '-1 +; (n = '9 and m = '11) => e01bffDefaultSolve(htPage,ifail) +; labelList := +; "append"/[f(i) for i in 1..n] where f(i) == +; prefix := ('"\newline \tab{2} ") +; middle := ('"\tab{22} ") +; post := ('" \tab{42} ") +; xnam := INTERN STRCONC ('"x",STRINGIMAGE i) +; ynam := INTERN STRCONC ('"y",STRINGIMAGE i) +; znam := INTERN STRCONC ('"z",STRINGIMAGE i) +; num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) +; [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], +; ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], +; ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] +; pxwords := ('"\blankline \menuitemstyle{}\tab{2} Values of ") +; pxwords := STRCONC(pxwords,'"array {\it Px}: \newline ") +; pxwords := cons('text,pxwords) +; pointList := +; "append"/[g(j) for j in 1..m] where g(j) == +; preamb := ('"\newline \tab{2} ") +; pnam := INTERN STRCONC ('"px",STRINGIMAGE j) +; [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]] +; labelList := [:labelList,pxwords,:pointList] +; equationPart := [ +; '(domainConditions +; (isDomain P (Polynomial $EmptyMode)) +; (isDomain S (String)) +; (isDomain F (Float)) +; (isDomain PI (PositiveInteger))), +; :labelList] +; page := htInitPage("E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable",htpPropertyList htPage) +; htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " +; htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " +; htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" +; htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " +; htSay '"\htbitmap{dr}: " +; htMakePage equationPart +; htSay '"\blankline " +; htMakeDoneButton('"Continue",'e01bffGen) +; htpSetProperty(page,'n,n) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01bffSolve,f| (|i|) + (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|) + (RETURN + (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |middle| (MAKESTRING "\\tab{22} ")) + (SPADLET |post| (MAKESTRING " \\tab{42} ")) + (SPADLET |xnam| + (INTERN (STRCONC (MAKESTRING "x") + (STRINGIMAGE |i|)))) + (SPADLET |ynam| + (INTERN (STRCONC (MAKESTRING "y") + (STRINGIMAGE |i|)))) + (SPADLET |znam| + (INTERN (STRCONC (MAKESTRING "z") + (STRINGIMAGE |i|)))) + (SPADLET |num| + (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10)) + (INTERN "." "BOOT") + (STRINGIMAGE (REM |i| 10))))) + (EXIT (CONS (CONS '|text| |prefix|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS |num| + (CONS |xnam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |middle|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |ynam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |post|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |znam| (CONS 'F NIL)))) + NIL)) + NIL))))))))))) + +(DEFUN |e01bffSolve,g| (|j|) + (PROG (|preamb| |pnam|) + (RETURN + (SEQ (SPADLET |preamb| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |pnam| + (INTERN (STRCONC (MAKESTRING "px") + (STRINGIMAGE |j|)))) + (EXIT (CONS (CONS '|text| |preamb|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |pnam| (CONS 'F NIL)))) + NIL)) + NIL))))))) + +(DEFUN |e01bffSolve| (|htPage|) + (PROG (|n| |m| |error| |ifail| |pxwords| |pointList| |labelList| + |equationPart| |page|) + (declare (special |$EmptyMode| |$bcParseOnly|)) + (RETURN + (SEQ (PROGN + (SPADLET |n| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|n|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|n|))))) + (SPADLET |m| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|m|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|m|))))) + (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|)) + (SPADLET |ifail| + (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1))) + (COND + ((AND (BOOT-EQUAL |n| '9) (BOOT-EQUAL |m| '11)) + (|e01bffDefaultSolve| |htPage| |ifail|)) + ('T + (SPADLET |labelList| + (PROG (G166230) + (SPADLET G166230 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |n|) G166230) + (SEQ (EXIT + (SETQ G166230 + (APPEND G166230 + (|e01bffSolve,f| |i|))))))))) + (SPADLET |pxwords| + (MAKESTRING + "\\blankline \\menuitemstyle{}\\tab{2} Values of ")) + (SPADLET |pxwords| + (STRCONC |pxwords| + (MAKESTRING + "array {\\it Px}: \\newline "))) + (SPADLET |pxwords| (CONS '|text| |pxwords|)) + (SPADLET |pointList| + (PROG (G166238) + (SPADLET G166238 NIL) + (RETURN + (DO ((|j| 1 (QSADD1 |j|))) + ((QSGREATERP |j| |m|) G166238) + (SEQ (EXIT + (SETQ G166238 + (APPEND G166238 + (|e01bffSolve,g| |j|))))))))) + (SPADLET |labelList| + (APPEND |labelList| + (CONS |pxwords| |pointList|))) + (SPADLET |equationPart| + (CONS '(|domainConditions| + (|isDomain| P + (|Polynomial| |$EmptyMode|)) + (|isDomain| S (|String|)) + (|isDomain| F (|Float|)) + (|isDomain| PI (|PositiveInteger|))) + |labelList|)) + (SPADLET |page| + (|htInitPage| + '|E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable| + (|htpPropertyList| |htPage|))) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")) + (|htSay| (MAKESTRING + "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")) + (|htSay| (MAKESTRING + "Values of \\space{1} \\htbitmap{fr}: \\tab{40}")) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")) + (|htSay| (MAKESTRING "\\htbitmap{dr}: ")) + (|htMakePage| |equationPart|) + (|htSay| (MAKESTRING "\\blankline ")) + (|htMakeDoneButton| (MAKESTRING "Continue") + '|e01bffGen|) + (|htpSetProperty| |page| '|n| |n|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|)))))))) + +;e01bffDefaultSolve (htPage, ifail) == +; n := '9 +; m := '11 +; page := htInitPage('"E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable",htpPropertyList htPage) +; htMakePage '( +; (domainConditions +; (isDomain F (Float))) +; (text . "\newline ") +; (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") +; (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") +; (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") +; (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") +; (text . "\htbitmap{dr}: ") +; (text . "\newline \tab{2}") +; (bcStrings (10 "7.99" x1 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.00000e+0" y1 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.00000e+0" z1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.09" x2 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.27643e-4" y2 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.52510e-4" z2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.19" x3 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.43750e-1" y3 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.33587" z3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.70" x4 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.16918" y4 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.34944" z4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "9.20" x5 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.46943" y5 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.59696" z5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "10.00" x6 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.94374" y6 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "6.03260e-2" z6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.00" x7 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99864" y7 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "8.98335e-4" z7 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.00" x8 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99992" y8 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "2.93954e-5" z8 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "20.00" x9 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99999" y9 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.00000" z9 F)) +; (text . "\blankline") +; (text . "\menuitemstyle{}\tab{2} ") +; (text . "Values of array {\it Px}: ") +; (text . "\newline \tab{2} ") +; (bcStrings (10 "7.99" px1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "9.191" px2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "10.392" px3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "11.593" px4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.794" px5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "13.995" px6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.196" px7 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "16.397" px8 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "17.598" px9 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "18.799" px10 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "20.0" px11 F)) +; (text . "\blankline")) +; htMakeDoneButton('"Continue",'e01bffGen) +; htpSetProperty(page,'n,n) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01bffDefaultSolve| (|htPage| |ifail|) + (PROG (|n| |m| |page|) + (RETURN + (PROGN + (SPADLET |n| '9) + (SPADLET |m| '11) + (SPADLET |page| + (|htInitPage| + (MAKESTRING + "E01BFF - Interpolated values, interpolant computed by E01BEF, function only, one variable") + (|htpPropertyList| |htPage|))) + (|htMakePage| + '((|domainConditions| (|isDomain| F (|Float|))) + (|text| . "\\newline ") + (|text| + . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ") + (|text| + . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ") + (|text| + . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ") + (|text| + . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ") + (|text| . "\\htbitmap{dr}: ") + (|text| . "\\newline \\tab{2}") + (|bcStrings| (10 "7.99" |x1| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.00000e+0" |y1| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.00000e+0" |z1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.09" |x2| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.27643e-4" |y2| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "5.52510e-4" |z2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.19" |x3| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.43750e-1" |y3| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.33587" |z3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.70" |x4| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.16918" |y4| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.34944" |z4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "9.20" |x5| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.46943" |y5| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.59696" |z5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "10.00" |x6| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.94374" |y6| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "6.03260e-2" |z6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.00" |x7| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99864" |y7| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "8.98335e-4" |z7| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.00" |x8| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99992" |y8| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "2.93954e-5" |z8| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "20.00" |x9| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99999" |y9| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.00000" |z9| F)) + (|text| . "\\blankline") + (|text| . "\\menuitemstyle{}\\tab{2} ") + (|text| . "Values of array {\\it Px}: ") + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "7.99" |px1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "9.191" |px2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "10.392" |px3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "11.593" |px4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.794" |px5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "13.995" |px6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.196" |px7| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "16.397" |px8| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "17.598" |px9| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "18.799" |px10| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "20.0" |px11| F)) + (|text| . "\\blankline"))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bffGen|) + (|htpSetProperty| |page| '|n| |n|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|))))) + +;e01bffGen htPage == +; n := htpProperty(htPage,'n) +; m := htpProperty(htPage,'m) +; ifail := htpProperty(htPage,'ifail) +; alist := htpInputAreaAlist htPage +; lck := n + 4 +; lwrk := 6*n+16 +; y := alist +; for i in 1..m repeat +; px := STRCONC ((first y).1," ") +; y := rest y +; pxlist := [px,:pxlist] +; pxstring := bcwords2liststring pxlist +; while y repeat +; right := STRCONC ((first y).1," ") +; y := rest y +; mid := STRCONC ((first y).1," ") +; y := rest y +; left := STRCONC ((first y).1," ") +; y := rest y +; xlist := [left,:xlist] +; flist := [mid,:flist] +; dlist := [right,:dlist] +; xstring := bcwords2liststring xlist +; fstring := bcwords2liststring flist +; dstring := bcwords2liststring dlist +; prefix := STRCONC('"e01bff(",STRINGIMAGE n,",[",xstring,"],[",fstring) +; prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],") +; prefix := STRCONC(prefix,STRINGIMAGE ifail,")") +; linkGen prefix + +(DEFUN |e01bffGen| (|htPage|) + (PROG (|n| |m| |ifail| |alist| |lck| |lwrk| |px| |pxlist| |pxstring| + |right| |mid| |left| |y| |xlist| |flist| |dlist| |xstring| + |fstring| |dstring| |prefix|) + (RETURN + (SEQ (PROGN + (SPADLET |n| (|htpProperty| |htPage| '|n|)) + (SPADLET |m| (|htpProperty| |htPage| '|m|)) + (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|)) + (SPADLET |alist| (|htpInputAreaAlist| |htPage|)) + (SPADLET |lck| (PLUS |n| 4)) + (SPADLET |lwrk| (PLUS (TIMES 6 |n|) 16)) + (SPADLET |y| |alist|) + (DO ((|i| 1 (QSADD1 |i|))) ((QSGREATERP |i| |m|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |px| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |pxlist| (CONS |px| |pxlist|)))))) + (SPADLET |pxstring| (|bcwords2liststring| |pxlist|)) + (DO () ((NULL |y|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |right| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |mid| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |left| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |xlist| (CONS |left| |xlist|)) + (SPADLET |flist| (CONS |mid| |flist|)) + (SPADLET |dlist| (CONS |right| |dlist|)))))) + (SPADLET |xstring| (|bcwords2liststring| |xlist|)) + (SPADLET |fstring| (|bcwords2liststring| |flist|)) + (SPADLET |dstring| (|bcwords2liststring| |dlist|)) + (SPADLET |prefix| + (STRCONC (MAKESTRING "e01bff(") (STRINGIMAGE |n|) + '|,[| |xstring| '|],[| |fstring|)) + (SPADLET |prefix| + (STRCONC |prefix| '|],[| |dstring| '|],| + (STRINGIMAGE |m|) '|,[| |pxstring| + '|],|)) + (SPADLET |prefix| + (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)) + (|linkGen| |prefix|)))))) + +;e01bgf() == +; htInitPage('"E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable", nil) +; htMakePage '( +; (domainConditions +; (isDomain PI (PositiveInteger))) +; (text . "\windowlink{Manual Page}{manpageXXe01bgf} for this routine ") +; (text . "\newline ") +; (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bgf| '|NagInterpolationPackage|)} for this routine") +; (text . "\newline \horizontalline ") +; (text . "Evaluates the piecewise cubic Hermite interpolant computed ") +; (text . "by E01BEF and its 1st derivative at the set of points \space{1} ") +; (text . "\htbitmap{xiii}, for i = 1,2,...,m. ") +; (text . "\blankline ") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "Enter the number of data points {\em n}: ") +; (text . "\newline\tab{2} ") +; (bcStrings (5 9 n PI)) +; (text . "\blankline ") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "Enter the number of evaluation points {\em m}: ") +; (text . "\newline\tab{2} ") +; (bcStrings (5 11 m PI)) +; (text . "\blankline") +; (text . "\newline") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "\newline \tab{2} ") +; (text . "Ifail value: ") +; (radioButtons ifail +; ("" " -1, Print error messages" minusOne) +; ("" " 1, Suppress error messages" one))) +; htMakeDoneButton('"Continue", 'e01bgfSolve) +; htShowPage() + +(DEFUN |e01bgf| () + (PROGN + (|htInitPage| + (MAKESTRING + "E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable") + NIL) + (|htMakePage| + '((|domainConditions| (|isDomain| PI (|PositiveInteger|))) + (|text| + . "\\windowlink{Manual Page}{manpageXXe01bgf} for this routine ") + (|text| . "\\newline ") + (|text| + . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bgf| '|NagInterpolationPackage|)} for this routine") + (|text| . "\\newline \\horizontalline ") + (|text| + . "Evaluates the piecewise cubic Hermite interpolant computed ") + (|text| + . "by E01BEF and its 1st derivative at the set of points \\space{1} ") + (|text| . "\\htbitmap{xiii}, for i = 1,2,...,m. ") + (|text| . "\\blankline ") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "Enter the number of data points {\\em n}: ") + (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 9 |n| PI)) + (|text| . "\\blankline ") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "Enter the number of evaluation points {\\em m}: ") + (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 11 |m| PI)) + (|text| . "\\blankline") (|text| . "\\newline") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ") + (|radioButtons| |ifail| + ("" " -1, Print error messages" |minusOne|) + ("" " 1, Suppress error messages" |one|)))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bgfSolve|) + (|htShowPage|))) + +;e01bgfSolve htPage == +; n := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) +; objValUnwrap htpLabelSpadValue(htPage, 'n) +; m := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) +; objValUnwrap htpLabelSpadValue(htPage, 'm) +; error := htpButtonValue(htPage,'ifail) +; ifail := +; error = 'one => '1 +; '-1 +; (n = '9 and m = '11) => e01bgfDefaultSolve(htPage,ifail) +; labelList := +; "append"/[f(i) for i in 1..n] where f(i) == +; prefix := ('"\newline \tab{2} ") +; middle := ('"\tab{22} ") +; post := ('" \tab{42} ") +; xnam := INTERN STRCONC ('"x",STRINGIMAGE i) +; ynam := INTERN STRCONC ('"y",STRINGIMAGE i) +; znam := INTERN STRCONC ('"z",STRINGIMAGE i) +; num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) +; [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], +; ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], +; ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] +; pxwords := ('"\blankline \menuitemstyle{}\tab{2} Values of ") +; pxwords := STRCONC(pxwords,'"array {\it Px}: \newline ") +; pxwords := cons('text,pxwords) +; pointList := +; "append"/[g(j) for j in 1..m] where g(j) == +; preamb := ('"\newline \tab{2} ") +; pnam := INTERN STRCONC ('"px",STRINGIMAGE j) +; [['text,:preamb],['bcStrings,[10, 0.0, pnam, 'F]]] +; labelList := [:labelList,pxwords,:pointList] +; equationPart := [ +; '(domainConditions +; (isDomain P (Polynomial $EmptyMode)) +; (isDomain S (String)) +; (isDomain F (Float)) +; (isDomain PI (PositiveInteger))), +; :labelList] +; page := htInitPage("E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable",htpPropertyList htPage) +; htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " +; htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " +; htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" +; htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " +; htSay '"\htbitmap{dr}: " +; htMakePage equationPart +; htSay '"\blankline " +; htMakeDoneButton('"Continue",'e01bgfGen) +; htpSetProperty(page,'n,n) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01bgfSolve,f| (|i|) + (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|) + (RETURN + (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |middle| (MAKESTRING "\\tab{22} ")) + (SPADLET |post| (MAKESTRING " \\tab{42} ")) + (SPADLET |xnam| + (INTERN (STRCONC (MAKESTRING "x") + (STRINGIMAGE |i|)))) + (SPADLET |ynam| + (INTERN (STRCONC (MAKESTRING "y") + (STRINGIMAGE |i|)))) + (SPADLET |znam| + (INTERN (STRCONC (MAKESTRING "z") + (STRINGIMAGE |i|)))) + (SPADLET |num| + (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10)) + (INTERN "." "BOOT") + (STRINGIMAGE (REM |i| 10))))) + (EXIT (CONS (CONS '|text| |prefix|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS |num| + (CONS |xnam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |middle|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |ynam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |post|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |znam| (CONS 'F NIL)))) + NIL)) + NIL))))))))))) + +(DEFUN |e01bgfSolve,g| (|j|) + (PROG (|preamb| |pnam|) + (RETURN + (SEQ (SPADLET |preamb| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |pnam| + (INTERN (STRCONC (MAKESTRING "px") + (STRINGIMAGE |j|)))) + (EXIT (CONS (CONS '|text| |preamb|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |pnam| (CONS 'F NIL)))) + NIL)) + NIL))))))) + +(DEFUN |e01bgfSolve| (|htPage|) + (PROG (|n| |m| |error| |ifail| |pxwords| |pointList| |labelList| + |equationPart| |page|) + (declare (special |$EmptyMode| |$bcParseOnly|)) + (RETURN + (SEQ (PROGN + (SPADLET |n| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|n|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|n|))))) + (SPADLET |m| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|m|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|m|))))) + (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|)) + (SPADLET |ifail| + (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1))) + (COND + ((AND (BOOT-EQUAL |n| '9) (BOOT-EQUAL |m| '11)) + (|e01bgfDefaultSolve| |htPage| |ifail|)) + ('T + (SPADLET |labelList| + (PROG (G166353) + (SPADLET G166353 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |n|) G166353) + (SEQ (EXIT + (SETQ G166353 + (APPEND G166353 + (|e01bgfSolve,f| |i|))))))))) + (SPADLET |pxwords| + (MAKESTRING + "\\blankline \\menuitemstyle{}\\tab{2} Values of ")) + (SPADLET |pxwords| + (STRCONC |pxwords| + (MAKESTRING + "array {\\it Px}: \\newline "))) + (SPADLET |pxwords| (CONS '|text| |pxwords|)) + (SPADLET |pointList| + (PROG (G166361) + (SPADLET G166361 NIL) + (RETURN + (DO ((|j| 1 (QSADD1 |j|))) + ((QSGREATERP |j| |m|) G166361) + (SEQ (EXIT + (SETQ G166361 + (APPEND G166361 + (|e01bgfSolve,g| |j|))))))))) + (SPADLET |labelList| + (APPEND |labelList| + (CONS |pxwords| |pointList|))) + (SPADLET |equationPart| + (CONS '(|domainConditions| + (|isDomain| P + (|Polynomial| |$EmptyMode|)) + (|isDomain| S (|String|)) + (|isDomain| F (|Float|)) + (|isDomain| PI (|PositiveInteger|))) + |labelList|)) + (SPADLET |page| + (|htInitPage| + '|E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable| + (|htpPropertyList| |htPage|))) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")) + (|htSay| (MAKESTRING + "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")) + (|htSay| (MAKESTRING + "Values of \\space{1} \\htbitmap{fr}: \\tab{40}")) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")) + (|htSay| (MAKESTRING "\\htbitmap{dr}: ")) + (|htMakePage| |equationPart|) + (|htSay| (MAKESTRING "\\blankline ")) + (|htMakeDoneButton| (MAKESTRING "Continue") + '|e01bgfGen|) + (|htpSetProperty| |page| '|n| |n|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|)))))))) + +;e01bgfDefaultSolve (htPage, ifail) == +; n := '9 +; m := '11 +; page := htInitPage('"E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable",htpPropertyList htPage) +; htMakePage '( +; (domainConditions +; (isDomain F (Float))) +; (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") +; (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") +; (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") +; (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") +; (text . "\htbitmap{dr}: ") +; (text . "\newline \tab{2}") +; (bcStrings (10 "7.99" x1 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.00000e+0" y1 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.00000e+0" z1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.09" x2 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.27643e-4" y2 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.52510e-4" z2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.19" x3 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.43750e-1" y3 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.33587" z3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.70" x4 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.16918" y4 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.34944" z4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "9.20" x5 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.46943" y5 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.59696" z5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "10.00" x6 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.94374" y6 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "6.03260e-2" z6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.00" x7 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99864" y7 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "8.98335e-4" z7 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.00" x8 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99992" y8 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "2.93954e-5" z8 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "20.00" x9 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99999" y9 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.00000" z9 F)) +; (text . "\blankline") +; (text . "\menuitemstyle{}\tab{2} ") +; (text . "Values of array {\it Px}: ") +; (text . "\newline \tab{2} ") +; (bcStrings (10 "7.99" px1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "9.191" px2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "10.392" px3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "11.593" px4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.794" px5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "13.995" px6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.196" px7 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "16.397" px8 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "17.598" px9 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "18.799" px10 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "20.0" px11 F)) +; (text . "\blankline")) +; htMakeDoneButton('"Continue",'e01bgfGen) +; htpSetProperty(page,'n,n) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01bgfDefaultSolve| (|htPage| |ifail|) + (PROG (|n| |m| |page|) + (RETURN + (PROGN + (SPADLET |n| '9) + (SPADLET |m| '11) + (SPADLET |page| + (|htInitPage| + (MAKESTRING + "E01BGF - Interpolated values, interpolant computed by E01BEF, function and 1st derivative, one variable") + (|htpPropertyList| |htPage|))) + (|htMakePage| + '((|domainConditions| (|isDomain| F (|Float|))) + (|text| + . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ") + (|text| + . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ") + (|text| + . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ") + (|text| + . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ") + (|text| . "\\htbitmap{dr}: ") + (|text| . "\\newline \\tab{2}") + (|bcStrings| (10 "7.99" |x1| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.00000e+0" |y1| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.00000e+0" |z1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.09" |x2| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.27643e-4" |y2| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "5.52510e-4" |z2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.19" |x3| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.43750e-1" |y3| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.33587" |z3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.70" |x4| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.16918" |y4| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.34944" |z4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "9.20" |x5| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.46943" |y5| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.59696" |z5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "10.00" |x6| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.94374" |y6| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "6.03260e-2" |z6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.00" |x7| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99864" |y7| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "8.98335e-4" |z7| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.00" |x8| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99992" |y8| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "2.93954e-5" |z8| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "20.00" |x9| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99999" |y9| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.00000" |z9| F)) + (|text| . "\\blankline") + (|text| . "\\menuitemstyle{}\\tab{2} ") + (|text| . "Values of array {\\it Px}: ") + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "7.99" |px1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "9.191" |px2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "10.392" |px3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "11.593" |px4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.794" |px5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "13.995" |px6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.196" |px7| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "16.397" |px8| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "17.598" |px9| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "18.799" |px10| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "20.0" |px11| F)) + (|text| . "\\blankline"))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bgfGen|) + (|htpSetProperty| |page| '|n| |n|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|))))) + +;e01bgfGen htPage == +; n := htpProperty(htPage,'n) +; m := htpProperty(htPage,'m) +; ifail := htpProperty(htPage,'ifail) +; alist := htpInputAreaAlist htPage +; lck := n + 4 +; lwrk := 6*n+16 +; y := alist +; for i in 1..m repeat +; px := STRCONC ((first y).1," ") +; y := rest y +; pxlist := [px,:pxlist] +; pxstring := bcwords2liststring pxlist +; while y repeat +; right := STRCONC ((first y).1," ") +; y := rest y +; mid := STRCONC ((first y).1," ") +; y := rest y +; left := STRCONC ((first y).1," ") +; y := rest y +; xlist := [left,:xlist] +; flist := [mid,:flist] +; dlist := [right,:dlist] +; xstring := bcwords2liststring xlist +; fstring := bcwords2liststring flist +; dstring := bcwords2liststring dlist +; prefix := STRCONC('"e01bgf(",STRINGIMAGE n,",[",xstring,"],[",fstring) +; prefix := STRCONC(prefix,"],[",dstring,"],",STRINGIMAGE m,",[",pxstring,"],") +; prefix := STRCONC(prefix,STRINGIMAGE ifail,")") +; linkGen prefix + +(DEFUN |e01bgfGen| (|htPage|) + (PROG (|n| |m| |ifail| |alist| |lck| |lwrk| |px| |pxlist| |pxstring| + |right| |mid| |left| |y| |xlist| |flist| |dlist| |xstring| + |fstring| |dstring| |prefix|) + (RETURN + (SEQ (PROGN + (SPADLET |n| (|htpProperty| |htPage| '|n|)) + (SPADLET |m| (|htpProperty| |htPage| '|m|)) + (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|)) + (SPADLET |alist| (|htpInputAreaAlist| |htPage|)) + (SPADLET |lck| (PLUS |n| 4)) + (SPADLET |lwrk| (PLUS (TIMES 6 |n|) 16)) + (SPADLET |y| |alist|) + (DO ((|i| 1 (QSADD1 |i|))) ((QSGREATERP |i| |m|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |px| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |pxlist| (CONS |px| |pxlist|)))))) + (SPADLET |pxstring| (|bcwords2liststring| |pxlist|)) + (DO () ((NULL |y|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |right| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |mid| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |left| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |xlist| (CONS |left| |xlist|)) + (SPADLET |flist| (CONS |mid| |flist|)) + (SPADLET |dlist| (CONS |right| |dlist|)))))) + (SPADLET |xstring| (|bcwords2liststring| |xlist|)) + (SPADLET |fstring| (|bcwords2liststring| |flist|)) + (SPADLET |dstring| (|bcwords2liststring| |dlist|)) + (SPADLET |prefix| + (STRCONC (MAKESTRING "e01bgf(") (STRINGIMAGE |n|) + '|,[| |xstring| '|],[| |fstring|)) + (SPADLET |prefix| + (STRCONC |prefix| '|],[| |dstring| '|],| + (STRINGIMAGE |m|) '|,[| |pxstring| + '|],|)) + (SPADLET |prefix| + (STRCONC |prefix| (STRINGIMAGE |ifail|) '|)|)) + (|linkGen| |prefix|)))))) + +;e01bhf() == +; htInitPage('"E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable", nil) +; htMakePage '( +; (domainConditions +; (isDomain PI (PositiveInteger))) +; (text . "\windowlink{Manual Page}{manpageXXe01bhf} for this routine ") +; (text . "\newline ") +; (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bhf| '|NagInterpolationPackage|)} for this routine") +; (text . "\newline \horizontalline ") +; (text . "Evaluates the definite integral of the piecewise cubic Hermite ") +; (text . "interpolant computed by E01BEF over the interval [a,b]. ") +; (text . "\blankline ") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "Enter the number of data points {\em n}: ") +; (text . "\newline\tab{2} ") +; (bcStrings (5 9 n PI)) +; (text . "\blankline ") +; (text . "\newline \menuitemstyle{}\tab{2} ") +; (text . "\newline {\em Lower} bound {\it a}: ") +; (text . "\tab{32} \menuitemstyle{}\tab{34} ") +; (text . "{\em Upper} bound {\it b}:") +; (text . "\newline\tab{2} ") +; (bcStrings (20 "7.99" a F)) +; (text . "\tab{34} ") +; (bcStrings (20 "20.0" b EM)) +; (text . "\blankline") +; (text . "\newline") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "\newline \tab{2} ") +; (text . "Ifail value: ") +; (radioButtons ifail +; ("" " -1, Print error messages" minusOne) +; ("" " 1, Suppress error messages" one))) +; htMakeDoneButton('"Continue", 'e01bhfSolve) +; htShowPage() + +(DEFUN |e01bhf| () + (PROGN + (|htInitPage| + (MAKESTRING + "E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable") + NIL) + (|htMakePage| + '((|domainConditions| (|isDomain| PI (|PositiveInteger|))) + (|text| + . "\\windowlink{Manual Page}{manpageXXe01bhf} for this routine ") + (|text| . "\\newline ") + (|text| + . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01bhf| '|NagInterpolationPackage|)} for this routine") + (|text| . "\\newline \\horizontalline ") + (|text| + . "Evaluates the definite integral of the piecewise cubic Hermite ") + (|text| + . "interpolant computed by E01BEF over the interval [a,b]. ") + (|text| . "\\blankline ") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "Enter the number of data points {\\em n}: ") + (|text| . "\\newline\\tab{2} ") (|bcStrings| (5 9 |n| PI)) + (|text| . "\\blankline ") + (|text| . "\\newline \\menuitemstyle{}\\tab{2} ") + (|text| . "\\newline {\\em Lower} bound {\\it a}: ") + (|text| . "\\tab{32} \\menuitemstyle{}\\tab{34} ") + (|text| . "{\\em Upper} bound {\\it b}:") + (|text| . "\\newline\\tab{2} ") + (|bcStrings| (20 "7.99" |a| F)) (|text| . "\\tab{34} ") + (|bcStrings| (20 "20.0" |b| EM)) (|text| . "\\blankline") + (|text| . "\\newline") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ") + (|radioButtons| |ifail| + ("" " -1, Print error messages" |minusOne|) + ("" " 1, Suppress error messages" |one|)))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bhfSolve|) + (|htShowPage|))) + +;e01bhfSolve htPage == +; n := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) +; objValUnwrap htpLabelSpadValue(htPage, 'n) +; a := htpLabelInputString(htPage,'a) +; b := htpLabelInputString(htPage,'b) +; error := htpButtonValue(htPage,'ifail) +; ifail := +; error = 'one => '1 +; '-1 +; n = '9 => e01bhfDefaultSolve(htPage,a,b,ifail) +; labelList := +; "append"/[f(i) for i in 1..n] where f(i) == +; prefix := ('"\newline \tab{2} ") +; middle := ('"\tab{22} ") +; post := ('" \tab{42} ") +; xnam := INTERN STRCONC ('"x",STRINGIMAGE i) +; ynam := INTERN STRCONC ('"y",STRINGIMAGE i) +; znam := INTERN STRCONC ('"z",STRINGIMAGE i) +; num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) +; [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], +; ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], +; ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] +; equationPart := [ +; '(domainConditions +; (isDomain P (Polynomial $EmptyMode)) +; (isDomain S (String)) +; (isDomain F (Float)) +; (isDomain PI (PositiveInteger))), +; :labelList] +; page := htInitPage("E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable",htpPropertyList htPage) +; htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " +; htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " +; htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" +; htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " +; htSay '"\htbitmap{dr}: " +; htMakePage equationPart +; htSay '"\blankline " +; htMakeDoneButton('"Continue",'e01bhfGen) +; htpSetProperty(page,'n,n) +; htpSetProperty(page,'a,a) +; htpSetProperty(page,'b,b) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01bhfSolve,f| (|i|) + (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|) + (RETURN + (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |middle| (MAKESTRING "\\tab{22} ")) + (SPADLET |post| (MAKESTRING " \\tab{42} ")) + (SPADLET |xnam| + (INTERN (STRCONC (MAKESTRING "x") + (STRINGIMAGE |i|)))) + (SPADLET |ynam| + (INTERN (STRCONC (MAKESTRING "y") + (STRINGIMAGE |i|)))) + (SPADLET |znam| + (INTERN (STRCONC (MAKESTRING "z") + (STRINGIMAGE |i|)))) + (SPADLET |num| + (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10)) + (INTERN "." "BOOT") + (STRINGIMAGE (REM |i| 10))))) + (EXIT (CONS (CONS '|text| |prefix|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS |num| + (CONS |xnam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |middle|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |ynam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |post|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |znam| (CONS 'F NIL)))) + NIL)) + NIL))))))))))) + +(DEFUN |e01bhfSolve| (|htPage|) + (PROG (|n| |a| |b| |error| |ifail| |labelList| |equationPart| |page|) + (declare (special |$EmptyMode| |$bcParseOnly|)) + (RETURN + (SEQ (PROGN + (SPADLET |n| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|n|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|n|))))) + (SPADLET |a| (|htpLabelInputString| |htPage| '|a|)) + (SPADLET |b| (|htpLabelInputString| |htPage| '|b|)) + (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|)) + (SPADLET |ifail| + (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1))) + (COND + ((BOOT-EQUAL |n| '9) + (|e01bhfDefaultSolve| |htPage| |a| |b| |ifail|)) + ('T + (SPADLET |labelList| + (PROG (G166468) + (SPADLET G166468 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |n|) G166468) + (SEQ (EXIT + (SETQ G166468 + (APPEND G166468 + (|e01bhfSolve,f| |i|))))))))) + (SPADLET |equationPart| + (CONS '(|domainConditions| + (|isDomain| P + (|Polynomial| |$EmptyMode|)) + (|isDomain| S (|String|)) + (|isDomain| F (|Float|)) + (|isDomain| PI (|PositiveInteger|))) + |labelList|)) + (SPADLET |page| + (|htInitPage| + '|E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable| + (|htpPropertyList| |htPage|))) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")) + (|htSay| (MAKESTRING + "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")) + (|htSay| (MAKESTRING + "Values of \\space{1} \\htbitmap{fr}: \\tab{40}")) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")) + (|htSay| (MAKESTRING "\\htbitmap{dr}: ")) + (|htMakePage| |equationPart|) + (|htSay| (MAKESTRING "\\blankline ")) + (|htMakeDoneButton| (MAKESTRING "Continue") + '|e01bhfGen|) + (|htpSetProperty| |page| '|n| |n|) + (|htpSetProperty| |page| '|a| |a|) + (|htpSetProperty| |page| '|b| |b|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|)))))))) + +;e01bhfDefaultSolve (htPage,a,b,ifail) == +; n := '9 +; page := htInitPage('"E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable",htpPropertyList htPage) +; htMakePage '( +; (domainConditions +; (isDomain F (Float))) +; (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") +; (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") +; (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") +; (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") +; (text . "\htbitmap{dr}: ") +; (text . "\newline \tab{2}") +; (bcStrings (10 "7.99" x1 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.00000e+0" y1 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.00000e+0" z1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.09" x2 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.27643e-4" y2 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.52510e-4" z2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.19" x3 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.43750e-1" y3 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.33587" z3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "8.70" x4 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.16918" y4 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.34944" z4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "9.20" x5 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.46943" y5 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.59696" z5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "10.00" x6 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.94374" y6 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "6.03260e-2" z6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.00" x7 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99864" y7 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "8.98335e-4" z7 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.00" x8 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99992" y8 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "2.93954e-5" z8 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "20.00" x9 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.99999" y9 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "0.00000" z9 F)) +; (text . "\blankline")) +; htMakeDoneButton('"Continue",'e01bhfGen) +; htpSetProperty(page,'n,n) +; htpSetProperty(page,'a,a) +; htpSetProperty(page,'b,b) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01bhfDefaultSolve| (|htPage| |a| |b| |ifail|) + (PROG (|n| |page|) + (RETURN + (PROGN + (SPADLET |n| '9) + (SPADLET |page| + (|htInitPage| + (MAKESTRING + "E01BHF - Interpolated values, interpolant computed by E01BEF, definite integral, one variable") + (|htpPropertyList| |htPage|))) + (|htMakePage| + '((|domainConditions| (|isDomain| F (|Float|))) + (|text| + . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ") + (|text| + . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ") + (|text| + . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ") + (|text| + . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ") + (|text| . "\\htbitmap{dr}: ") + (|text| . "\\newline \\tab{2}") + (|bcStrings| (10 "7.99" |x1| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.00000e+0" |y1| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.00000e+0" |z1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.09" |x2| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.27643e-4" |y2| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "5.52510e-4" |z2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.19" |x3| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.43750e-1" |y3| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.33587" |z3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "8.70" |x4| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.16918" |y4| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.34944" |z4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "9.20" |x5| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.46943" |y5| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.59696" |z5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "10.00" |x6| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.94374" |y6| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "6.03260e-2" |z6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.00" |x7| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99864" |y7| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "8.98335e-4" |z7| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.00" |x8| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99992" |y8| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "2.93954e-5" |z8| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "20.00" |x9| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.99999" |y9| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "0.00000" |z9| F)) + (|text| . "\\blankline"))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01bhfGen|) + (|htpSetProperty| |page| '|n| |n|) + (|htpSetProperty| |page| '|a| |a|) + (|htpSetProperty| |page| '|b| |b|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|))))) + +;e01bhfGen htPage == +; n := htpProperty(htPage,'n) +; a := htpProperty(htPage,'a) +; b := htpProperty(htPage,'b) +; ifail := htpProperty(htPage,'ifail) +; alist := htpInputAreaAlist htPage +; lck := n + 4 +; lwrk := 6*n+16 +; y := alist +; while y repeat +; right := STRCONC ((first y).1," ") +; y := rest y +; mid := STRCONC ((first y).1," ") +; y := rest y +; left := STRCONC ((first y).1," ") +; y := rest y +; xlist := [left,:xlist] +; flist := [mid,:flist] +; dlist := [right,:dlist] +; xstring := bcwords2liststring xlist +; fstring := bcwords2liststring flist +; dstring := bcwords2liststring dlist +; prefix := STRCONC('"e01bhf(",STRINGIMAGE n,",[",xstring,"],[",fstring,"],[") +; prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE a,",",STRINGIMAGE b,",",STRINGIMAGE ifail,")") +; linkGen prefix + +(DEFUN |e01bhfGen| (|htPage|) + (PROG (|n| |a| |b| |ifail| |alist| |lck| |lwrk| |right| |mid| |left| + |y| |xlist| |flist| |dlist| |xstring| |fstring| |dstring| + |prefix|) + (RETURN + (SEQ (PROGN + (SPADLET |n| (|htpProperty| |htPage| '|n|)) + (SPADLET |a| (|htpProperty| |htPage| '|a|)) + (SPADLET |b| (|htpProperty| |htPage| '|b|)) + (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|)) + (SPADLET |alist| (|htpInputAreaAlist| |htPage|)) + (SPADLET |lck| (PLUS |n| 4)) + (SPADLET |lwrk| (PLUS (TIMES 6 |n|) 16)) + (SPADLET |y| |alist|) + (DO () ((NULL |y|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |right| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |mid| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |left| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |xlist| (CONS |left| |xlist|)) + (SPADLET |flist| (CONS |mid| |flist|)) + (SPADLET |dlist| (CONS |right| |dlist|)))))) + (SPADLET |xstring| (|bcwords2liststring| |xlist|)) + (SPADLET |fstring| (|bcwords2liststring| |flist|)) + (SPADLET |dstring| (|bcwords2liststring| |dlist|)) + (SPADLET |prefix| + (STRCONC (MAKESTRING "e01bhf(") (STRINGIMAGE |n|) + '|,[| |xstring| '|],[| |fstring| '|],[|)) + (SPADLET |prefix| + (STRCONC |prefix| |dstring| '|],| + (STRINGIMAGE |a|) '|,| (STRINGIMAGE |b|) + '|,| (STRINGIMAGE |ifail|) '|)|)) + (|linkGen| |prefix|)))))) + +;e01daf() == +; htInitPage('"E01DAF - Interpolating functions, fitting bicubic spline, data on a rectangular grid", nil) +; htMakePage '( +; (domainConditions +; (isDomain PI (PositiveInteger))) +; (text . "\windowlink{Manual Page}{manpageXXe01daf} for this routine ") +; (text . "\newline ") +; (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01daf| '|NagInterpolationPackage|)} for this routine") +; (text . "\newline \horizontalline ") +; (text . "Determines a bicubic spline surface interpolating the set of ") +; (text . "data values (\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}) ") +; (text . "given on a rectangular grid. The grid is defined by ") +; (text . "\space{1} \htbitmap{mx} points along the x-axis and ") +; (text . "\space{1} \htbitmap{my} points along the y-axis. The ") +; (text . "spline has \space{1} \htbitmap{px} knots ") +; (text . "\htbitmap{lamdai} and \space{1}\htbitmap{py}") +; (text . " knots \htbitmap{mui} in the x- and y-directions ") +; (text . "respectively, and is given in the B-spline representation ") +; (text . "\center{s(x,y) = \htbitmap{e01daf1}} ") +; (text . "\blankline ") +; (text . "\newline \menuitemstyle{}\tab{2} ") +; (text . "\newline The value \space{1} \htbitmap{mx}: ") +; (text . "\tab{32} \menuitemstyle{}\tab{34} ") +; (text . "The value \space{1} \htbitmap{my}:") +; (text . "\newline\tab{2} ") +; (bcStrings (6 7 mx PI)) +; (text . "\tab{34} ") +; (bcStrings (6 6 my PI)) +; (text . "\blankline") +; (text . "\newline") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "\newline \tab{2} ") +; (text . "Ifail value: ") +; (radioButtons ifail +; ("" " -1, Print error messages" minusOne) +; ("" " 1, Suppress error messages" one))) +; htMakeDoneButton('"Continue", 'e01dafSolve) +; htShowPage() + +(DEFUN |e01daf| () + (PROGN + (|htInitPage| + (MAKESTRING + "E01DAF - Interpolating functions, fitting bicubic spline, data on a rectangular grid") + NIL) + (|htMakePage| + '((|domainConditions| (|isDomain| PI (|PositiveInteger|))) + (|text| + . "\\windowlink{Manual Page}{manpageXXe01daf} for this routine ") + (|text| . "\\newline ") + (|text| + . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01daf| '|NagInterpolationPackage|)} for this routine") + (|text| . "\\newline \\horizontalline ") + (|text| + . "Determines a bicubic spline surface interpolating the set of ") + (|text| + . "data values (\\htbitmap{xr}, \\htbitmap{yr}, \\htbitmap{fqr}) ") + (|text| + . "given on a rectangular grid. The grid is defined by ") + (|text| + . "\\space{1} \\htbitmap{mx} points along the x-axis and ") + (|text| + . "\\space{1} \\htbitmap{my} points along the y-axis. The ") + (|text| . "spline has \\space{1} \\htbitmap{px} knots ") + (|text| . "\\htbitmap{lamdai} and \\space{1}\\htbitmap{py}") + (|text| + . " knots \\htbitmap{mui} in the x- and y-directions ") + (|text| + . "respectively, and is given in the B-spline representation ") + (|text| . "\\center{s(x,y) = \\htbitmap{e01daf1}} ") + (|text| . "\\blankline ") + (|text| . "\\newline \\menuitemstyle{}\\tab{2} ") + (|text| . "\\newline The value \\space{1} \\htbitmap{mx}: ") + (|text| . "\\tab{32} \\menuitemstyle{}\\tab{34} ") + (|text| . "The value \\space{1} \\htbitmap{my}:") + (|text| . "\\newline\\tab{2} ") (|bcStrings| (6 7 |mx| PI)) + (|text| . "\\tab{34} ") (|bcStrings| (6 6 |my| PI)) + (|text| . "\\blankline") (|text| . "\\newline") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ") + (|radioButtons| |ifail| + ("" " -1, Print error messages" |minusOne|) + ("" " 1, Suppress error messages" |one|)))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01dafSolve|) + (|htShowPage|))) + +;e01dafSolve htPage == +; mx := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'mx) +; objValUnwrap htpLabelSpadValue(htPage, 'mx) +; my := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'my) +; objValUnwrap htpLabelSpadValue(htPage, 'my) +; error := htpButtonValue(htPage,'ifail) +; ifail := +; error = 'one => '1 +; '-1 +; (mx = '7 and my = '6) => e01dafDefaultSolve(htPage,ifail) +; xList := +; "append"/[f(i) for i in 1..mx] where f(i) == +; xnam := INTERN STRCONC ('"x",STRINGIMAGE i) +; [['bcStrings,[6, 0.0, xnam, 'F]]] +; prefix := ('"\newline \menuitemstyle{}\tab{2} Values of X(1) to X(MX): \newline ") +; xList := [['text,:prefix],:xList] +; yList := +; "append"/[g(i) for i in 1..my] where g(i) == +; ynam := INTERN STRCONC ('"y",STRINGIMAGE i) +; [['bcStrings,[6, 0.0, ynam, 'F]]] +; prefix := ('"\blankline\menuitemstyle{}\tab{2}Values of Y(1) to Y(MY): \newline ") +; yList := [['text,:prefix],:yList] +; fList := +; "append"/[h(j,my) for j in 1..mx] where h(j,my) == +; tempList := +; "append"/[k(j,m) for m in 1..my] where k(j,m) == +; fnam := INTERN STRCONC ('"f",STRINGIMAGE j, STRINGIMAGE m) +; [['bcStrings,[6, 0.0, fnam, 'F]]] +; prefix := ('"\newline ") +; tempList := [['text,:prefix],:tempList] +; prefix := ('"\blankline \menuitemstyle{} \tab{2} Values of F(MX*MY) ") +; prefix := STRCONC(prefix,'"(x down, y across): ") +; fList := [['text,:prefix],:fList] +; equationPart := [ +; '(domainConditions +; (isDomain P (Polynomial $EmptyMode)) +; (isDomain S (String)) +; (isDomain F (Float)) +; (isDomain PI (PositiveInteger))), +; :xList,:yList,:fList] +; page := htInitPage("E01DAF - Interpolating functions, fitting bicubic spline, data on a rectanglar grid",htpPropertyList htPage) +; htMakePage equationPart +; htSay '"\blankline " +; htMakeDoneButton('"Continue",'e01dafGen) +; htpSetProperty(page,'mx,mx) +; htpSetProperty(page,'my,my) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01dafSolve,f| (|i|) + (PROG (|xnam|) + (RETURN + (SEQ (SPADLET |xnam| + (INTERN (STRCONC (MAKESTRING "x") + (STRINGIMAGE |i|)))) + (EXIT (CONS (CONS '|bcStrings| + (CONS (CONS 6 + (CONS 0.0 + (CONS |xnam| (CONS 'F NIL)))) + NIL)) + NIL)))))) + +(DEFUN |e01dafSolve,g| (|i|) + (PROG (|ynam|) + (RETURN + (SEQ (SPADLET |ynam| + (INTERN (STRCONC (MAKESTRING "y") + (STRINGIMAGE |i|)))) + (EXIT (CONS (CONS '|bcStrings| + (CONS (CONS 6 + (CONS 0.0 + (CONS |ynam| (CONS 'F NIL)))) + NIL)) + NIL)))))) + +(DEFUN |e01dafSolve,k| (|j| |m|) + (PROG (|fnam|) + (RETURN + (SEQ (SPADLET |fnam| + (INTERN (STRCONC (MAKESTRING "f") (STRINGIMAGE |j|) + (STRINGIMAGE |m|)))) + (EXIT (CONS (CONS '|bcStrings| + (CONS (CONS 6 + (CONS 0.0 + (CONS |fnam| (CONS 'F NIL)))) + NIL)) + NIL)))))) + +(DEFUN |e01dafSolve,h| (|j| |my|) + (PROG (|prefix| |tempList|) + (RETURN + (SEQ (SPADLET |tempList| + (PROG (G166562) + (SPADLET G166562 NIL) + (RETURN + (DO ((|m| 1 (QSADD1 |m|))) + ((QSGREATERP |m| |my|) G166562) + (SEQ (EXIT (SETQ G166562 + (APPEND G166562 + (|e01dafSolve,k| |j| |m|))))))))) + (SPADLET |prefix| (MAKESTRING "\\newline ")) + (EXIT (SPADLET |tempList| + (CONS (CONS '|text| |prefix|) |tempList|))))))) + +(DEFUN |e01dafSolve| (|htPage|) + (PROG (|mx| |my| |error| |ifail| |xList| |yList| |prefix| |fList| + |equationPart| |page|) + (declare (special |$EmptyMode| |$bcParseOnly|)) + (RETURN + (SEQ (PROGN + (SPADLET |mx| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|mx|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|mx|))))) + (SPADLET |my| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|my|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|my|))))) + (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|)) + (SPADLET |ifail| + (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1))) + (COND + ((AND (BOOT-EQUAL |mx| '7) (BOOT-EQUAL |my| '6)) + (|e01dafDefaultSolve| |htPage| |ifail|)) + ('T + (SPADLET |xList| + (PROG (G166579) + (SPADLET G166579 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |mx|) G166579) + (SEQ (EXIT + (SETQ G166579 + (APPEND G166579 + (|e01dafSolve,f| |i|))))))))) + (SPADLET |prefix| + (MAKESTRING + "\\newline \\menuitemstyle{}\\tab{2} Values of X(1) to X(MX): \\newline ")) + (SPADLET |xList| + (CONS (CONS '|text| |prefix|) |xList|)) + (SPADLET |yList| + (PROG (G166587) + (SPADLET G166587 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |my|) G166587) + (SEQ (EXIT + (SETQ G166587 + (APPEND G166587 + (|e01dafSolve,g| |i|))))))))) + (SPADLET |prefix| + (MAKESTRING + "\\blankline\\menuitemstyle{}\\tab{2}Values of Y(1) to Y(MY): \\newline ")) + (SPADLET |yList| + (CONS (CONS '|text| |prefix|) |yList|)) + (SPADLET |fList| + (PROG (G166595) + (SPADLET G166595 NIL) + (RETURN + (DO ((|j| 1 (QSADD1 |j|))) + ((QSGREATERP |j| |mx|) G166595) + (SEQ (EXIT + (SETQ G166595 + (APPEND G166595 + (|e01dafSolve,h| |j| |my|))))))))) + (SPADLET |prefix| + (MAKESTRING + "\\blankline \\menuitemstyle{} \\tab{2} Values of F(MX*MY) ")) + (SPADLET |prefix| + (STRCONC |prefix| + (MAKESTRING "(x down, y across): "))) + (SPADLET |fList| + (CONS (CONS '|text| |prefix|) |fList|)) + (SPADLET |equationPart| + (CONS '(|domainConditions| + (|isDomain| P + (|Polynomial| |$EmptyMode|)) + (|isDomain| S (|String|)) + (|isDomain| F (|Float|)) + (|isDomain| PI (|PositiveInteger|))) + (APPEND |xList| + (APPEND |yList| |fList|)))) + (SPADLET |page| + (|htInitPage| + '|E01DAF - Interpolating functions, fitting bicubic spline, data on a rectanglar grid| + (|htpPropertyList| |htPage|))) + (|htMakePage| |equationPart|) + (|htSay| (MAKESTRING "\\blankline ")) + (|htMakeDoneButton| (MAKESTRING "Continue") + '|e01dafGen|) + (|htpSetProperty| |page| '|mx| |mx|) + (|htpSetProperty| |page| '|my| |my|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|)))))))) + +;e01dafDefaultSolve (htPage,ifail) == +; mx := '7 +; my := '6 +; page := htInitPage('"E01DAF - Interpolating functions, fitting bicubic spline, data on rectangular grid",htpPropertyList htPage) +; htMakePage '( +; (domainConditions +; (isDomain F (Float))) +; (text . "\menuitemstyle{}\tab{2} Values of X(1) to X(MX): ") +; (text . "\newline ") +; (bcStrings (6 "1.00" x1 F)) +; (bcStrings (6 "1.10" x2 F)) +; (bcStrings (6 "1.30" x3 F)) +; (bcStrings (6 "1.50" x4 F)) +; (bcStrings (6 "1.60" x5 F)) +; (bcStrings (6 "1.80" x6 F)) +; (bcStrings (6 "2.00" x7 F)) +; (text . "\blankline ") +; (text . "\newline ") +; (text ."\menuitemstyle{} \tab{2} Values of Y(1) to Y(MY): ") +; (text . "\newline ") +; (bcStrings (6 "0.00" y1 F)) +; (bcStrings (6 "0.10" y2 F)) +; (bcStrings (6 "0.40" y3 F)) +; (bcStrings (6 "0.70" y4 F)) +; (bcStrings (6 "0.90" y5 F)) +; (bcStrings (6 "1.00" y6 F)) +; (text . "\blankline ") +; (text . "\newline ") +; (text . "\menuitemstyle{} \tab{2} Values of F(MX*MY) (x down, y across): ") +; (text . "\newline ") +; (bcStrings (6 "1.00" z11 F)) +; (bcStrings (6 "1.10" z21 F)) +; (bcStrings (6 "1.40" z31 F)) +; (bcStrings (6 "1.70" z41 F)) +; (bcStrings (6 "1.90" z51 F)) +; (bcStrings (6 "2.00" z61 F)) +; (text . "\newline ") +; (bcStrings (6 "1.21" z12 F)) +; (bcStrings (6 "1.31" z22 F)) +; (bcStrings (6 "1.61" z32 F)) +; (bcStrings (6 "1.91" z42 F)) +; (bcStrings (6 "2.11" z52 F)) +; (bcStrings (6 "2.21" z62 F)) +; (text . "\newline ") +; (bcStrings (6 "1.69" z13 F)) +; (bcStrings (6 "1.79" z23 F)) +; (bcStrings (6 "2.09" z33 F)) +; (bcStrings (6 "2.39" z43 F)) +; (bcStrings (6 "2.59" z53 F)) +; (bcStrings (6 "2.69" z63 F)) +; (text . "\newline ") +; (bcStrings (6 "2.25" z14 F)) +; (bcStrings (6 "2.35" z24 F)) +; (bcStrings (6 "2.65" z34 F)) +; (bcStrings (6 "2.95" z44 F)) +; (bcStrings (6 "3.15" z54 F)) +; (bcStrings (6 "3.25" z64 F)) +; (text . "\newline ") +; (bcStrings (6 "2.56" z15 F)) +; (bcStrings (6 "2.66" z25 F)) +; (bcStrings (6 "2.96" z35 F)) +; (bcStrings (6 "3.26" z45 F)) +; (bcStrings (6 "3.46" z55 F)) +; (bcStrings (6 "3.56" z65 F)) +; (text . "\newline ") +; (bcStrings (6 "3.24" z16 F)) +; (bcStrings (6 "3.34" z26 F)) +; (bcStrings (6 "3.64" z36 F)) +; (bcStrings (6 "3.94" z46 F)) +; (bcStrings (6 "4.14" z56 F)) +; (bcStrings (6 "4.24" z66 F)) +; (text . "\newline ") +; (bcStrings (6 "4.00" z17 F)) +; (bcStrings (6 "4.10" z27 F)) +; (bcStrings (6 "4.40" z37 F)) +; (bcStrings (6 "4.70" z47 F)) +; (bcStrings (6 "4.90" z57 F)) +; (bcStrings (6 "5.00" z67 F)) +; (text . "\blankline")) +; htMakeDoneButton('"Continue",'e01dafGen) +; htpSetProperty(page,'mx,mx) +; htpSetProperty(page,'my,my) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01dafDefaultSolve| (|htPage| |ifail|) + (PROG (|mx| |my| |page|) + (RETURN + (PROGN + (SPADLET |mx| '7) + (SPADLET |my| '6) + (SPADLET |page| + (|htInitPage| + (MAKESTRING + "E01DAF - Interpolating functions, fitting bicubic spline, data on rectangular grid") + (|htpPropertyList| |htPage|))) + (|htMakePage| + '((|domainConditions| (|isDomain| F (|Float|))) + (|text| + . "\\menuitemstyle{}\\tab{2} Values of X(1) to X(MX): ") + (|text| . "\\newline ") (|bcStrings| (6 "1.00" |x1| F)) + (|bcStrings| (6 "1.10" |x2| F)) + (|bcStrings| (6 "1.30" |x3| F)) + (|bcStrings| (6 "1.50" |x4| F)) + (|bcStrings| (6 "1.60" |x5| F)) + (|bcStrings| (6 "1.80" |x6| F)) + (|bcStrings| (6 "2.00" |x7| F)) (|text| . "\\blankline ") + (|text| . "\\newline ") + (|text| + . "\\menuitemstyle{} \\tab{2} Values of Y(1) to Y(MY): ") + (|text| . "\\newline ") (|bcStrings| (6 "0.00" |y1| F)) + (|bcStrings| (6 "0.10" |y2| F)) + (|bcStrings| (6 "0.40" |y3| F)) + (|bcStrings| (6 "0.70" |y4| F)) + (|bcStrings| (6 "0.90" |y5| F)) + (|bcStrings| (6 "1.00" |y6| F)) (|text| . "\\blankline ") + (|text| . "\\newline ") + (|text| + . "\\menuitemstyle{} \\tab{2} Values of F(MX*MY) (x down, y across): ") + (|text| . "\\newline ") (|bcStrings| (6 "1.00" |z11| F)) + (|bcStrings| (6 "1.10" |z21| F)) + (|bcStrings| (6 "1.40" |z31| F)) + (|bcStrings| (6 "1.70" |z41| F)) + (|bcStrings| (6 "1.90" |z51| F)) + (|bcStrings| (6 "2.00" |z61| F)) (|text| . "\\newline ") + (|bcStrings| (6 "1.21" |z12| F)) + (|bcStrings| (6 "1.31" |z22| F)) + (|bcStrings| (6 "1.61" |z32| F)) + (|bcStrings| (6 "1.91" |z42| F)) + (|bcStrings| (6 "2.11" |z52| F)) + (|bcStrings| (6 "2.21" |z62| F)) (|text| . "\\newline ") + (|bcStrings| (6 "1.69" |z13| F)) + (|bcStrings| (6 "1.79" |z23| F)) + (|bcStrings| (6 "2.09" |z33| F)) + (|bcStrings| (6 "2.39" |z43| F)) + (|bcStrings| (6 "2.59" |z53| F)) + (|bcStrings| (6 "2.69" |z63| F)) (|text| . "\\newline ") + (|bcStrings| (6 "2.25" |z14| F)) + (|bcStrings| (6 "2.35" |z24| F)) + (|bcStrings| (6 "2.65" |z34| F)) + (|bcStrings| (6 "2.95" |z44| F)) + (|bcStrings| (6 "3.15" |z54| F)) + (|bcStrings| (6 "3.25" |z64| F)) (|text| . "\\newline ") + (|bcStrings| (6 "2.56" |z15| F)) + (|bcStrings| (6 "2.66" |z25| F)) + (|bcStrings| (6 "2.96" |z35| F)) + (|bcStrings| (6 "3.26" |z45| F)) + (|bcStrings| (6 "3.46" |z55| F)) + (|bcStrings| (6 "3.56" |z65| F)) (|text| . "\\newline ") + (|bcStrings| (6 "3.24" |z16| F)) + (|bcStrings| (6 "3.34" |z26| F)) + (|bcStrings| (6 "3.64" |z36| F)) + (|bcStrings| (6 "3.94" |z46| F)) + (|bcStrings| (6 "4.14" |z56| F)) + (|bcStrings| (6 "4.24" |z66| F)) (|text| . "\\newline ") + (|bcStrings| (6 "4.00" |z17| F)) + (|bcStrings| (6 "4.10" |z27| F)) + (|bcStrings| (6 "4.40" |z37| F)) + (|bcStrings| (6 "4.70" |z47| F)) + (|bcStrings| (6 "4.90" |z57| F)) + (|bcStrings| (6 "5.00" |z67| F)) + (|text| . "\\blankline"))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01dafGen|) + (|htpSetProperty| |page| '|mx| |mx|) + (|htpSetProperty| |page| '|my| |my|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|))))) + +;e01dafGen htPage == +; mx := htpProperty(htPage,'mx) +; my := htpProperty(htPage,'my) +; ifail := htpProperty(htPage,'ifail) +; alist := htpInputAreaAlist htPage +; y := alist +; while y repeat +; right := STRCONC ((first y).1, " ") +; y := rest y +; xlist := [right,:xlist] +; for i in 1..mx repeat +; xmx := [:xmx,(first xlist)] +; xlist := rest xlist +; xstring := bcwords2liststring xmx +; for i in 1..my repeat +; ymy := [:ymy,(first xlist)] +; xlist := rest xlist +; ystring := bcwords2liststring ymy +; fstring := bcwords2liststring xlist +; prefix := STRCONC('"e01daf(",STRINGIMAGE mx,", ",STRINGIMAGE my,",[") +; midd := STRCONC(xstring, "], [",ystring,"], [",fstring,"], ") +; linkGen STRCONC(prefix,midd,STRINGIMAGE ifail,")") + +(DEFUN |e01dafGen| (|htPage|) + (PROG (|mx| |my| |ifail| |alist| |right| |y| |xmx| |xstring| |ymy| + |xlist| |ystring| |fstring| |prefix| |midd|) + (RETURN + (SEQ (PROGN + (SPADLET |mx| (|htpProperty| |htPage| '|mx|)) + (SPADLET |my| (|htpProperty| |htPage| '|my|)) + (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|)) + (SPADLET |alist| (|htpInputAreaAlist| |htPage|)) + (SPADLET |y| |alist|) + (DO () ((NULL |y|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |right| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |xlist| (CONS |right| |xlist|)))))) + (DO ((|i| 1 (QSADD1 |i|))) ((QSGREATERP |i| |mx|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |xmx| + (APPEND |xmx| + (CONS (CAR |xlist|) NIL))) + (SPADLET |xlist| (CDR |xlist|)))))) + (SPADLET |xstring| (|bcwords2liststring| |xmx|)) + (DO ((|i| 1 (QSADD1 |i|))) ((QSGREATERP |i| |my|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |ymy| + (APPEND |ymy| + (CONS (CAR |xlist|) NIL))) + (SPADLET |xlist| (CDR |xlist|)))))) + (SPADLET |ystring| (|bcwords2liststring| |ymy|)) + (SPADLET |fstring| (|bcwords2liststring| |xlist|)) + (SPADLET |prefix| + (STRCONC (MAKESTRING "e01daf(") + (STRINGIMAGE |mx|) '|, | + (STRINGIMAGE |my|) '|,[|)) + (SPADLET |midd| + (STRCONC |xstring| '|], [| |ystring| '|], [| + |fstring| '|], |)) + (|linkGen| + (STRCONC |prefix| |midd| (STRINGIMAGE |ifail|) '|)|))))))) + +;e01saf() == +; htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables", nil) +; htMakePage '( +; (domainConditions +; (isDomain PI (PositiveInteger))) +; (text . "\windowlink{Manual Page}{manpageXXe01saf} for this routine ") +; (text . "\newline ") +; (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01saf| '|NagInterpolationPackage|)} for this routine") +; (text . "\newline \horizontalline ") +; (text . "Determines a \htbitmap{c1} piecewise polynomial ") +; (text . "surface F(x,y) interpolating the set of scattered points ") +; (text . "(\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}), ") +; (text . "for r = 1,2,...,m, using a method of Renka and Cline. ") +; (text . "The interpolant can be evaluated using E01SBF. ") +; (text . "\blankline ") +; (text . "\newline \menuitemstyle{}\tab{2} \newline ") +; (text . "Number of data points {\em m} \htbitmap{great=} 3:") +; (text . "\newline \tab{2} ") +; (bcStrings (6 30 m PI)) +; (text . "\blankline") +; (text . "\newline") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "\newline \tab{2} ") +; (text . "Ifail value: ") +; (radioButtons ifail +; ("" " -1, Print error messages" minusOne) +; ("" " 1, Suppress error messages" one))) +; htMakeDoneButton('"Continue", 'e01safSolve) +; htShowPage() + +(DEFUN |e01saf| () + (PROGN + (|htInitPage| + (MAKESTRING + "E01SAF - Interpolating functions, method of Renka and Cline, two variables") + NIL) + (|htMakePage| + '((|domainConditions| (|isDomain| PI (|PositiveInteger|))) + (|text| + . "\\windowlink{Manual Page}{manpageXXe01saf} for this routine ") + (|text| . "\\newline ") + (|text| + . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01saf| '|NagInterpolationPackage|)} for this routine") + (|text| . "\\newline \\horizontalline ") + (|text| + . "Determines a \\htbitmap{c1} piecewise polynomial ") + (|text| + . "surface F(x,y) interpolating the set of scattered points ") + (|text| + . "(\\htbitmap{xr}, \\htbitmap{yr}, \\htbitmap{fqr}), ") + (|text| + . "for r = 1,2,...,m, using a method of Renka and Cline. ") + (|text| . "The interpolant can be evaluated using E01SBF. ") + (|text| . "\\blankline ") + (|text| . "\\newline \\menuitemstyle{}\\tab{2} \\newline ") + (|text| + . "Number of data points {\\em m} \\htbitmap{great=} 3:") + (|text| . "\\newline \\tab{2} ") (|bcStrings| (6 30 |m| PI)) + (|text| . "\\blankline") (|text| . "\\newline") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ") + (|radioButtons| |ifail| + ("" " -1, Print error messages" |minusOne|) + ("" " 1, Suppress error messages" |one|)))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01safSolve|) + (|htShowPage|))) + +;e01safSolve htPage == +; m := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) +; objValUnwrap htpLabelSpadValue(htPage, 'm) +; error := htpButtonValue(htPage,'ifail) +; ifail := +; error = 'one => '1 +; '-1 +; m = '30 => e01safDefaultSolve(htPage,ifail) +; labelList := +; "append"/[f(i) for i in 1..m] where f(i) == +; prefix := ('"\newline \tab{2} ") +; middle := ('"\tab{22} ") +; post := ('" \tab{42} ") +; xnam := INTERN STRCONC ('"x",STRINGIMAGE i) +; ynam := INTERN STRCONC ('"y",STRINGIMAGE i) +; znam := INTERN STRCONC ('"z",STRINGIMAGE i) +; num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) +; [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], +; ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], +; ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] +; equationPart := [ +; '(domainConditions +; (isDomain P (Polynomial $EmptyMode)) +; (isDomain S (String)) +; (isDomain F (Float)) +; (isDomain PI (PositiveInteger))), +; :labelList] +; page := htInitPage("E01SAF - Interpolating functions, method of Renka and Cline,two variables",htpPropertyList htPage) +; htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " +; htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " +; htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" +; htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " +; htSay '"\htbitmap{dr}: " +; htMakePage equationPart +; htSay '"\blankline " +; htMakeDoneButton('"Continue",'e01safGen) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01safSolve,f| (|i|) + (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|) + (RETURN + (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |middle| (MAKESTRING "\\tab{22} ")) + (SPADLET |post| (MAKESTRING " \\tab{42} ")) + (SPADLET |xnam| + (INTERN (STRCONC (MAKESTRING "x") + (STRINGIMAGE |i|)))) + (SPADLET |ynam| + (INTERN (STRCONC (MAKESTRING "y") + (STRINGIMAGE |i|)))) + (SPADLET |znam| + (INTERN (STRCONC (MAKESTRING "z") + (STRINGIMAGE |i|)))) + (SPADLET |num| + (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10)) + (INTERN "." "BOOT") + (STRINGIMAGE (REM |i| 10))))) + (EXIT (CONS (CONS '|text| |prefix|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS |num| + (CONS |xnam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |middle|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |ynam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |post|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |znam| (CONS 'F NIL)))) + NIL)) + NIL))))))))))) + +(DEFUN |e01safSolve| (|htPage|) + (PROG (|m| |error| |ifail| |labelList| |equationPart| |page|) + (declare (special |$EmptyMode| |$bcParseOnly|)) + (RETURN + (SEQ (PROGN + (SPADLET |m| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|m|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|m|))))) + (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|)) + (SPADLET |ifail| + (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1))) + (COND + ((BOOT-EQUAL |m| '30) + (|e01safDefaultSolve| |htPage| |ifail|)) + ('T + (SPADLET |labelList| + (PROG (G166700) + (SPADLET G166700 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |m|) G166700) + (SEQ (EXIT + (SETQ G166700 + (APPEND G166700 + (|e01safSolve,f| |i|))))))))) + (SPADLET |equationPart| + (CONS '(|domainConditions| + (|isDomain| P + (|Polynomial| |$EmptyMode|)) + (|isDomain| S (|String|)) + (|isDomain| F (|Float|)) + (|isDomain| PI (|PositiveInteger|))) + |labelList|)) + (SPADLET |page| + (|htInitPage| + '|E01SAF - Interpolating functions, method of Renka and Cline,two variables| + (|htpPropertyList| |htPage|))) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")) + (|htSay| (MAKESTRING + "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")) + (|htSay| (MAKESTRING + "Values of \\space{1} \\htbitmap{fr}: \\tab{40}")) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")) + (|htSay| (MAKESTRING "\\htbitmap{dr}: ")) + (|htMakePage| |equationPart|) + (|htSay| (MAKESTRING "\\blankline ")) + (|htMakeDoneButton| (MAKESTRING "Continue") + '|e01safGen|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|)))))))) + +;e01safDefaultSolve (htPage, ifail) == +; m := '30 +; page := htInitPage('"E01SAF - Interpolating functions, method of Renka and Cline, two variables",htpPropertyList htPage) +; htMakePage '( +; (domainConditions +; (isDomain F (Float))) +; (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") +; (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") +; (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") +; (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") +; (text . "\htbitmap{dr}: ") +; (text . "\newline \tab{2}") +; (bcStrings (10 "11.16" x1 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "1.24" y1 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "22.15" z1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.85" x2 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "3.06" y2 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "22.11" z2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "19.85" x3 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "10.72" y3 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "7.97" z3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "19.72" x4 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "1.39" y4 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "16.83" z4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.91" x5 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "7.74" y5 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "15.30" z5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.00" x6 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "20.00" y6 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "34.60" z6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "20.87" x7 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "20.00" y7 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.74" z7 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "3.45" x8 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "12.78" y8 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "41.24" z8 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "14.26" x9 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "17.87" y9 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "10.74" z9 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "17.43" x10 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "3.46" y10 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "18.60" z10 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "22.80" x11 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "12.39" y11 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.47" z11 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "7.58" x12 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "1.98" y12 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "29.87" z12 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "25.00" x13 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "11.87" y13 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "4.40" z13 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.00" x14 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.00" y14 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "58.20" z14 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "9.66" x15 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "20.00" y15 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "4.73" z15 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "5.22" x16 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "14.66" y16 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "40.36" z16 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "17.25" x17 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "19.57" y17 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "6.43" z17 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "25.00" x18 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "3.87" y18 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "8.74" z18 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.13" x19 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "10.79" y19 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "13.71" z19 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "22.23" x20 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "6.21" y20 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "10.25" z20 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "11.52" x21 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "8.53" y21 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "15.74" z21 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.20" x22 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.0" y22 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "21.60" z22 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "7.54" x23 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "10.69" y23 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "19.31" z23 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "17.32" x24 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "13.78" y24 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "12.11" z24 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "2.14" x25 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "15.03" y25 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "53.10" z25 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.51" x26 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "8.37" y26 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "49.43" z26 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "22.69" x27 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "19.63" y27 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "3.25" z27 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "5.47" x28 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "17.13" y28 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "28.63" z28 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "21.67" x29 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "14.36" y29 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.52" z29 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "3.31" x30 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.33" y30 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "44.08" z30 F)) +; (text . "\blankline")) +; htMakeDoneButton('"Continue",'e01safGen) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01safDefaultSolve| (|htPage| |ifail|) + (PROG (|m| |page|) + (RETURN + (PROGN + (SPADLET |m| '30) + (SPADLET |page| + (|htInitPage| + (MAKESTRING + "E01SAF - Interpolating functions, method of Renka and Cline, two variables") + (|htpPropertyList| |htPage|))) + (|htMakePage| + '((|domainConditions| (|isDomain| F (|Float|))) + (|text| + . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ") + (|text| + . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ") + (|text| + . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ") + (|text| + . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ") + (|text| . "\\htbitmap{dr}: ") + (|text| . "\\newline \\tab{2}") + (|bcStrings| (10 "11.16" |x1| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "1.24" |y1| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "22.15" |z1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.85" |x2| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "3.06" |y2| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "22.11" |z2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "19.85" |x3| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "10.72" |y3| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "7.97" |z3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "19.72" |x4| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "1.39" |y4| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "16.83" |z4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.91" |x5| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "7.74" |y5| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "15.30" |z5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.00" |x6| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "20.00" |y6| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "34.60" |z6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "20.87" |x7| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "20.00" |y7| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "5.74" |z7| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "3.45" |x8| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "12.78" |y8| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "41.24" |z8| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "14.26" |x9| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "17.87" |y9| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "10.74" |z9| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "17.43" |x10| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "3.46" |y10| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "18.60" |z10| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "22.80" |x11| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "12.39" |y11| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "5.47" |z11| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "7.58" |x12| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "1.98" |y12| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "29.87" |z12| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "25.00" |x13| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "11.87" |y13| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "4.40" |z13| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.00" |x14| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.00" |y14| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "58.20" |z14| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "9.66" |x15| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "20.00" |y15| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "4.73" |z15| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "5.22" |x16| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "14.66" |y16| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "40.36" |z16| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "17.25" |x17| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "19.57" |y17| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "6.43" |z17| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "25.00" |x18| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "3.87" |y18| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "8.74" |z18| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.13" |x19| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "10.79" |y19| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "13.71" |z19| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "22.23" |x20| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "6.21" |y20| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "10.25" |z20| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "11.52" |x21| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "8.53" |y21| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "15.74" |z21| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.20" |x22| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "0.0" |y22| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "21.60" |z22| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "7.54" |x23| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "10.69" |y23| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "19.31" |z23| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "17.32" |x24| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "13.78" |y24| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "12.11" |z24| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "2.14" |x25| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "15.03" |y25| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "53.10" |z25| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.51" |x26| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "8.37" |y26| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "49.43" |z26| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "22.69" |x27| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "19.63" |y27| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "3.25" |z27| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "5.47" |x28| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "17.13" |y28| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "28.63" |z28| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "21.67" |x29| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "14.36" |y29| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "5.52" |z29| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "3.31" |x30| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.33" |y30| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "44.08" |z30| F)) + (|text| . "\\blankline"))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01safGen|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|))))) + +;e01safGen htPage == +; m := htpProperty(htPage,'m) +; ifail := htpProperty(htPage,'ifail) +; alist := htpInputAreaAlist htPage +; y := alist +; while y repeat +; right := STRCONC ((first y).1," ") +; y := rest y +; mid := STRCONC ((first y).1," ") +; y := rest y +; left := STRCONC ((first y).1," ") +; y := rest y +; xlist := [left,:xlist] +; flist := [mid,:flist] +; dlist := [right,:dlist] +; xstring := bcwords2liststring xlist +; fstring := bcwords2liststring flist +; dstring := bcwords2liststring dlist +; prefix := STRCONC('"e01saf(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[") +; prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE ifail,")") +; linkGen prefix + +(DEFUN |e01safGen| (|htPage|) + (PROG (|m| |ifail| |alist| |right| |mid| |left| |y| |xlist| |flist| + |dlist| |xstring| |fstring| |dstring| |prefix|) + (RETURN + (SEQ (PROGN + (SPADLET |m| (|htpProperty| |htPage| '|m|)) + (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|)) + (SPADLET |alist| (|htpInputAreaAlist| |htPage|)) + (SPADLET |y| |alist|) + (DO () ((NULL |y|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |right| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |mid| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |left| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |xlist| (CONS |left| |xlist|)) + (SPADLET |flist| (CONS |mid| |flist|)) + (SPADLET |dlist| (CONS |right| |dlist|)))))) + (SPADLET |xstring| (|bcwords2liststring| |xlist|)) + (SPADLET |fstring| (|bcwords2liststring| |flist|)) + (SPADLET |dstring| (|bcwords2liststring| |dlist|)) + (SPADLET |prefix| + (STRCONC (MAKESTRING "e01saf(") (STRINGIMAGE |m|) + '|,[| |xstring| '|],[| |fstring| '|],[|)) + (SPADLET |prefix| + (STRCONC |prefix| |dstring| '|],| + (STRINGIMAGE |ifail|) '|)|)) + (|linkGen| |prefix|)))))) + +;e01sef() == +; htInitPage('"E01SEF - Interpolating functions, modified Shepard's method, two variables", nil) +; htMakePage '( +; (domainConditions +; (isDomain PI (PositiveInteger))) +; (text . "\windowlink{Manual Page}{manpageXXe01sef} for this routine ") +; (text . "\newline ") +; (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01sef| '|NagInterpolationPackage|)} for this routine") +; (text . "\newline \horizontalline ") +; (text . "Determines a \htbitmap{c1} piecewise polynomial ") +; (text . "surface F(x,y) interpolating the set of scattered points ") +; (text . "(\htbitmap{xr}, \htbitmap{yr}, \htbitmap{fqr}), ") +; (text . "for r = 1,2,...,m, using a modified Shepard method. ") +; (text . "The interpolant can be evaluated using E01SFF. ") +; (text . "\blankline ") +; (text . "\newline \menuitemstyle{}\tab{2} \newline ") +; (text . "Number of data points {\em m} \htbitmap{great=} 3:") +; (text . "\newline \tab{2} ") +; (bcStrings (6 30 m PI)) +; (text . "\blankline ") +; (text . "Note: RNW, RNQ, NW, NQ set to zero for default value. ") +; (text . "On exit, they contain the value actually used. ") +; (text . "\blankline ") +; (text . "\newline ") +; (text . "\menuitemstyle{}\tab{2}") +; (text . "\newline {\em RNW} weight locality radius: ") +; (text . "\tab{32} \menuitemstyle{}\tab{34}") +; (text . "{\em RNQ} point locality radius:") +; (text . "\newline\tab{2} ") +; (bcStrings (6 "0.0" rnw F)) +; (text . "\tab{34} ") +; (bcStrings (6 "0.0" rnq F)) +; (text . "\blankline ") +; (text . "\newline ") +; (text . "\menuitemstyle{}\tab{2} \newline") +; (text . "{\em NW} average number of points within RNW of each point: ") +; (text . "\newline \tab{2} ") +; (bcStrings (6 0 nw I)) +; (text . "\blankline ") +; (text . "\newline ") +; (text . "\menuitemstyle{}\tab{2} \newline") +; (text . "{\em NQ} average number of points within RNQ of each point: ") +; (text . "\newline \tab{2} ") +; (bcStrings (6 0 nq I)) +; (text . "\blankline") +; (text . "\newline") +; (text . "\menuitemstyle{} \tab{2} ") +; (text . "\newline \tab{2} ") +; (text . "Ifail value: ") +; (radioButtons ifail +; ("" " -1, Print error messages" minusOne) +; ("" " 1, Suppress error messages" one))) +; htMakeDoneButton('"Continue", 'e01sefSolve) +; htShowPage() + +(DEFUN |e01sef| () + (PROGN + (|htInitPage| + (MAKESTRING + "E01SEF - Interpolating functions, modified Shepard's method, two variables") + NIL) + (|htMakePage| + '((|domainConditions| (|isDomain| PI (|PositiveInteger|))) + (|text| + . "\\windowlink{Manual Page}{manpageXXe01sef} for this routine ") + (|text| . "\\newline ") + (|text| + . "\\lispwindowlink{Browser operation page}{(|oPageFrom| '|e01sef| '|NagInterpolationPackage|)} for this routine") + (|text| . "\\newline \\horizontalline ") + (|text| + . "Determines a \\htbitmap{c1} piecewise polynomial ") + (|text| + . "surface F(x,y) interpolating the set of scattered points ") + (|text| + . "(\\htbitmap{xr}, \\htbitmap{yr}, \\htbitmap{fqr}), ") + (|text| + . "for r = 1,2,...,m, using a modified Shepard method. ") + (|text| . "The interpolant can be evaluated using E01SFF. ") + (|text| . "\\blankline ") + (|text| . "\\newline \\menuitemstyle{}\\tab{2} \\newline ") + (|text| + . "Number of data points {\\em m} \\htbitmap{great=} 3:") + (|text| . "\\newline \\tab{2} ") (|bcStrings| (6 30 |m| PI)) + (|text| . "\\blankline ") + (|text| + . "Note: RNW, RNQ, NW, NQ set to zero for default value. ") + (|text| . "On exit, they contain the value actually used. ") + (|text| . "\\blankline ") (|text| . "\\newline ") + (|text| . "\\menuitemstyle{}\\tab{2}") + (|text| . "\\newline {\\em RNW} weight locality radius: ") + (|text| . "\\tab{32} \\menuitemstyle{}\\tab{34}") + (|text| . "{\\em RNQ} point locality radius:") + (|text| . "\\newline\\tab{2} ") + (|bcStrings| (6 "0.0" |rnw| F)) (|text| . "\\tab{34} ") + (|bcStrings| (6 "0.0" |rnq| F)) (|text| . "\\blankline ") + (|text| . "\\newline ") + (|text| . "\\menuitemstyle{}\\tab{2} \\newline") + (|text| + . "{\\em NW} average number of points within RNW of each point: ") + (|text| . "\\newline \\tab{2} ") (|bcStrings| (6 0 |nw| I)) + (|text| . "\\blankline ") (|text| . "\\newline ") + (|text| . "\\menuitemstyle{}\\tab{2} \\newline") + (|text| + . "{\\em NQ} average number of points within RNQ of each point: ") + (|text| . "\\newline \\tab{2} ") (|bcStrings| (6 0 |nq| I)) + (|text| . "\\blankline") (|text| . "\\newline") + (|text| . "\\menuitemstyle{} \\tab{2} ") + (|text| . "\\newline \\tab{2} ") (|text| . "Ifail value: ") + (|radioButtons| |ifail| + ("" " -1, Print error messages" |minusOne|) + ("" " 1, Suppress error messages" |one|)))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01sefSolve|) + (|htShowPage|))) + +;e01sefSolve htPage == +; m := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) +; objValUnwrap htpLabelSpadValue(htPage, 'm) +; nw := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'nw) +; objValUnwrap htpLabelSpadValue(htPage, 'nw) +; nq := +; $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'nq) +; objValUnwrap htpLabelSpadValue(htPage, 'nq) +; rnq := htpLabelInputString(htPage,'rnq) +; rnw := htpLabelInputString(htPage,'rnw) +; error := htpButtonValue(htPage,'ifail) +; ifail := +; error = 'one => '1 +; '-1 +; m = '30 => e01sefDefaultSolve(htPage,rnq,rnw,nq,nw,ifail) +; labelList := +; "append"/[f(i) for i in 1..m] where f(i) == +; prefix := ('"\newline \tab{2} ") +; middle := ('"\tab{22} ") +; post := ('" \tab{42} ") +; xnam := INTERN STRCONC ('"x",STRINGIMAGE i) +; ynam := INTERN STRCONC ('"y",STRINGIMAGE i) +; znam := INTERN STRCONC ('"z",STRINGIMAGE i) +; num := INTERN STRCONC (STRINGIMAGE (QUOTIENT(i,10)),".",STRINGIMAGE (REM(i,10))) +; [['text,:prefix],['bcStrings,[10, num, xnam, 'F]], +; ['text,:middle],['bcStrings,[10, 0.0, ynam, 'F]], +; ['text,:post],['bcStrings,[10, 0.0, znam, 'F]]] +; equationPart := [ +; '(domainConditions +; (isDomain P (Polynomial $EmptyMode)) +; (isDomain S (String)) +; (isDomain F (Float)) +; (isDomain PI (PositiveInteger))), +; :labelList] +; page := htInitPage("E01SEF - Interpolating functions, modified Shepard's method, two variables",htpPropertyList htPage) +; htSay '"\menuitemstyle{}\tab{2} Values of \space{1} " +; htSay '"\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} " +; htSay '"Values of \space{1} \htbitmap{fr}: \tab{40}" +; htSay '"\menuitemstyle{}\tab{42} Values of \space{1} " +; htSay '"\htbitmap{dr}: " +; htMakePage equationPart +; htSay '"\blankline " +; htMakeDoneButton('"Continue",'e01sefGen) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'rnq,rnq) +; htpSetProperty(page,'rnw,rnw) +; htpSetProperty(page,'nq,nq) +; htpSetProperty(page,'nw,nw) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01sefSolve,f| (|i|) + (PROG (|prefix| |middle| |post| |xnam| |ynam| |znam| |num|) + (RETURN + (SEQ (SPADLET |prefix| (MAKESTRING "\\newline \\tab{2} ")) + (SPADLET |middle| (MAKESTRING "\\tab{22} ")) + (SPADLET |post| (MAKESTRING " \\tab{42} ")) + (SPADLET |xnam| + (INTERN (STRCONC (MAKESTRING "x") + (STRINGIMAGE |i|)))) + (SPADLET |ynam| + (INTERN (STRCONC (MAKESTRING "y") + (STRINGIMAGE |i|)))) + (SPADLET |znam| + (INTERN (STRCONC (MAKESTRING "z") + (STRINGIMAGE |i|)))) + (SPADLET |num| + (INTERN (STRCONC (STRINGIMAGE (QUOTIENT |i| 10)) + (INTERN "." "BOOT") + (STRINGIMAGE (REM |i| 10))))) + (EXIT (CONS (CONS '|text| |prefix|) + (CONS (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS |num| + (CONS |xnam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |middle|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |ynam| (CONS 'F NIL)))) + NIL)) + (CONS (CONS '|text| |post|) + (CONS + (CONS '|bcStrings| + (CONS + (CONS 10 + (CONS 0.0 + (CONS |znam| (CONS 'F NIL)))) + NIL)) + NIL))))))))))) + +(DEFUN |e01sefSolve| (|htPage|) + (PROG (|m| |nw| |nq| |rnq| |rnw| |error| |ifail| |labelList| + |equationPart| |page|) + (declare (special |$EmptyMode| |$bcParseOnly|)) + (RETURN + (SEQ (PROGN + (SPADLET |m| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|m|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|m|))))) + (SPADLET |nw| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|nw|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|nw|))))) + (SPADLET |nq| + (COND + (|$bcParseOnly| + (PARSE-INTEGER + (|htpLabelInputString| |htPage| '|nq|))) + ('T + (|objValUnwrap| + (|htpLabelSpadValue| |htPage| '|nq|))))) + (SPADLET |rnq| (|htpLabelInputString| |htPage| '|rnq|)) + (SPADLET |rnw| (|htpLabelInputString| |htPage| '|rnw|)) + (SPADLET |error| (|htpButtonValue| |htPage| '|ifail|)) + (SPADLET |ifail| + (COND ((BOOT-EQUAL |error| '|one|) '1) ('T '-1))) + (COND + ((BOOT-EQUAL |m| '30) + (|e01sefDefaultSolve| |htPage| |rnq| |rnw| |nq| |nw| + |ifail|)) + ('T + (SPADLET |labelList| + (PROG (G166783) + (SPADLET G166783 NIL) + (RETURN + (DO ((|i| 1 (QSADD1 |i|))) + ((QSGREATERP |i| |m|) G166783) + (SEQ (EXIT + (SETQ G166783 + (APPEND G166783 + (|e01sefSolve,f| |i|))))))))) + (SPADLET |equationPart| + (CONS '(|domainConditions| + (|isDomain| P + (|Polynomial| |$EmptyMode|)) + (|isDomain| S (|String|)) + (|isDomain| F (|Float|)) + (|isDomain| PI (|PositiveInteger|))) + |labelList|)) + (SPADLET |page| + (|htInitPage| + '|E01SEF - Interpolating functions, modified Shepard's method, two variables| + (|htpPropertyList| |htPage|))) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{2} Values of \\space{1} ")) + (|htSay| (MAKESTRING + "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ")) + (|htSay| (MAKESTRING + "Values of \\space{1} \\htbitmap{fr}: \\tab{40}")) + (|htSay| (MAKESTRING + "\\menuitemstyle{}\\tab{42} Values of \\space{1} ")) + (|htSay| (MAKESTRING "\\htbitmap{dr}: ")) + (|htMakePage| |equationPart|) + (|htSay| (MAKESTRING "\\blankline ")) + (|htMakeDoneButton| (MAKESTRING "Continue") + '|e01sefGen|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|rnq| |rnq|) + (|htpSetProperty| |page| '|rnw| |rnw|) + (|htpSetProperty| |page| '|nq| |nq|) + (|htpSetProperty| |page| '|nw| |nw|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|)))))))) + +;e01sefDefaultSolve (htPage,rnq,rnw,nq,nw,ifail) == +; m := '30 +; page := htInitPage('"E01SEF - Interpolating functions, modified Shepard's method, two variables",htpPropertyList htPage) +; htMakePage '( +; (domainConditions +; (isDomain F (Float))) +; (text . "\menuitemstyle{}\tab{2} Values of \space{1} ") +; (text . "\htbitmap{xr}: \tab{20} \menuitemstyle{}\tab{22} ") +; (text . "Values of \space{1} \htbitmap{fr}: \tab{40} ") +; (text . "\menuitemstyle{}\tab{42} Values of \space{1} ") +; (text . "\htbitmap{dr}: ") +; (text . "\newline \tab{2}") +; (bcStrings (10 "11.16" x1 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "1.24" y1 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "22.15" z1 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.85" x2 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "3.06" y2 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "22.11" z2 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "19.85" x3 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "10.72" y3 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "7.97" z3 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "19.72" x4 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "1.39" y4 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "16.83" z4 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.91" x5 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "7.74" y5 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "15.30" z5 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.00" x6 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "20.00" y6 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "34.60" z6 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "20.87" x7 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "20.00" y7 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.74" z7 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "3.45" x8 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "12.78" y8 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "41.24" z8 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "14.26" x9 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "17.87" y9 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "10.74" z9 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "17.43" x10 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "3.46" y10 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "18.60" z10 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "22.80" x11 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "12.39" y11 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.47" z11 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "7.58" x12 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "1.98" y12 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "29.87" z12 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "25.00" x13 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "11.87" y13 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "4.40" z13 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.00" x14 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.00" y14 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "58.20" z14 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "9.66" x15 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "20.00" y15 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "4.73" z15 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "5.22" x16 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "14.66" y16 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "40.36" z16 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "17.25" x17 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "19.57" y17 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "6.43" z17 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "25.00" x18 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "3.87" y18 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "8.74" z18 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "12.13" x19 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "10.79" y19 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "13.71" z19 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "22.23" x20 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "6.21" y20 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "10.25" z20 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "11.52" x21 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "8.53" y21 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "15.74" z21 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "15.20" x22 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.0" y22 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "21.60" z22 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "7.54" x23 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "10.69" y23 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "19.31" z23 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "17.32" x24 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "13.78" y24 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "12.11" z24 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "2.14" x25 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "15.03" y25 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "53.10" z25 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "0.51" x26 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "8.37" y26 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "49.43" z26 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "22.69" x27 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "19.63" y27 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "3.25" z27 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "5.47" x28 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "17.13" y28 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "28.63" z28 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "21.67" x29 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "14.36" y29 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "5.52" z29 F)) +; (text . "\newline \tab{2} ") +; (bcStrings (10 "3.31" x30 F)) +; (text . "\tab{22} ") +; (bcStrings (10 "0.33" y30 F)) +; (text . "\tab{42} ") +; (bcStrings (10 "44.08" z30 F)) +; (text . "\blankline")) +; htMakeDoneButton('"Continue",'e01sefGen) +; htpSetProperty(page,'m,m) +; htpSetProperty(page,'rnq,rnq) +; htpSetProperty(page,'rnw,rnw) +; htpSetProperty(page,'nq,nq) +; htpSetProperty(page,'nw,nw) +; htpSetProperty(page,'ifail,ifail) +; htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) +; htShowPage() + +(DEFUN |e01sefDefaultSolve| (|htPage| |rnq| |rnw| |nq| |nw| |ifail|) + (PROG (|m| |page|) + (RETURN + (PROGN + (SPADLET |m| '30) + (SPADLET |page| + (|htInitPage| + (MAKESTRING + "E01SEF - Interpolating functions, modified Shepard's method, two variables") + (|htpPropertyList| |htPage|))) + (|htMakePage| + '((|domainConditions| (|isDomain| F (|Float|))) + (|text| + . "\\menuitemstyle{}\\tab{2} Values of \\space{1} ") + (|text| + . "\\htbitmap{xr}: \\tab{20} \\menuitemstyle{}\\tab{22} ") + (|text| + . "Values of \\space{1} \\htbitmap{fr}: \\tab{40} ") + (|text| + . "\\menuitemstyle{}\\tab{42} Values of \\space{1} ") + (|text| . "\\htbitmap{dr}: ") + (|text| . "\\newline \\tab{2}") + (|bcStrings| (10 "11.16" |x1| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "1.24" |y1| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "22.15" |z1| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.85" |x2| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "3.06" |y2| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "22.11" |z2| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "19.85" |x3| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "10.72" |y3| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "7.97" |z3| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "19.72" |x4| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "1.39" |y4| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "16.83" |z4| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.91" |x5| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "7.74" |y5| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "15.30" |z5| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.00" |x6| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "20.00" |y6| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "34.60" |z6| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "20.87" |x7| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "20.00" |y7| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "5.74" |z7| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "3.45" |x8| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "12.78" |y8| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "41.24" |z8| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "14.26" |x9| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "17.87" |y9| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "10.74" |z9| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "17.43" |x10| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "3.46" |y10| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "18.60" |z10| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "22.80" |x11| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "12.39" |y11| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "5.47" |z11| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "7.58" |x12| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "1.98" |y12| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "29.87" |z12| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "25.00" |x13| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "11.87" |y13| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "4.40" |z13| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.00" |x14| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.00" |y14| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "58.20" |z14| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "9.66" |x15| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "20.00" |y15| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "4.73" |z15| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "5.22" |x16| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "14.66" |y16| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "40.36" |z16| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "17.25" |x17| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "19.57" |y17| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "6.43" |z17| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "25.00" |x18| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "3.87" |y18| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "8.74" |z18| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "12.13" |x19| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "10.79" |y19| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "13.71" |z19| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "22.23" |x20| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "6.21" |y20| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "10.25" |z20| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "11.52" |x21| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "8.53" |y21| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "15.74" |z21| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "15.20" |x22| F)) + (|text| . "\\tab{22} ") (|bcStrings| (10 "0.0" |y22| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "21.60" |z22| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "7.54" |x23| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "10.69" |y23| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "19.31" |z23| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "17.32" |x24| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "13.78" |y24| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "12.11" |z24| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "2.14" |x25| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "15.03" |y25| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "53.10" |z25| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "0.51" |x26| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "8.37" |y26| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "49.43" |z26| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "22.69" |x27| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "19.63" |y27| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "3.25" |z27| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "5.47" |x28| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "17.13" |y28| F)) + (|text| . "\\tab{42} ") + (|bcStrings| (10 "28.63" |z28| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "21.67" |x29| F)) + (|text| . "\\tab{22} ") + (|bcStrings| (10 "14.36" |y29| F)) + (|text| . "\\tab{42} ") (|bcStrings| (10 "5.52" |z29| F)) + (|text| . "\\newline \\tab{2} ") + (|bcStrings| (10 "3.31" |x30| F)) (|text| . "\\tab{22} ") + (|bcStrings| (10 "0.33" |y30| F)) (|text| . "\\tab{42} ") + (|bcStrings| (10 "44.08" |z30| F)) + (|text| . "\\blankline"))) + (|htMakeDoneButton| (MAKESTRING "Continue") '|e01sefGen|) + (|htpSetProperty| |page| '|m| |m|) + (|htpSetProperty| |page| '|rnq| |rnq|) + (|htpSetProperty| |page| '|rnw| |rnw|) + (|htpSetProperty| |page| '|nq| |nq|) + (|htpSetProperty| |page| '|nw| |nw|) + (|htpSetProperty| |page| '|ifail| |ifail|) + (|htpSetProperty| |page| '|inputArea| + (|htpInputAreaAlist| |htPage|)) + (|htShowPage|))))) + +;e01sefGen htPage == +; m := htpProperty(htPage,'m) +; rnw := htpProperty(htPage,'rnw) +; rnq := htpProperty(htPage,'rnq) +; nw := htpProperty(htPage,'nw) +; nq := htpProperty(htPage,'nq) +; ifail := htpProperty(htPage,'ifail) +; alist := htpInputAreaAlist htPage +; y := alist +; while y repeat +; right := STRCONC ((first y).1," ") +; y := rest y +; mid := STRCONC ((first y).1," ") +; y := rest y +; left := STRCONC ((first y).1," ") +; y := rest y +; xlist := [left,:xlist] +; flist := [mid,:flist] +; dlist := [right,:dlist] +; xstring := bcwords2liststring xlist +; fstring := bcwords2liststring flist +; dstring := bcwords2liststring dlist +; prefix := STRCONC('"e01sef(",STRINGIMAGE m,",[",xstring,"],[",fstring,"],[") +; prefix := STRCONC(prefix,dstring,"],",STRINGIMAGE nw,", ",STRINGIMAGE nq) +; prefix := STRCONC(prefix,", ",rnw,", ",rnq,", ",STRINGIMAGE ifail,")") +; linkGen prefix + +(DEFUN |e01sefGen| (|htPage|) + (PROG (|m| |rnw| |rnq| |nw| |nq| |ifail| |alist| |right| |mid| |left| + |y| |xlist| |flist| |dlist| |xstring| |fstring| |dstring| + |prefix|) + (RETURN + (SEQ (PROGN + (SPADLET |m| (|htpProperty| |htPage| '|m|)) + (SPADLET |rnw| (|htpProperty| |htPage| '|rnw|)) + (SPADLET |rnq| (|htpProperty| |htPage| '|rnq|)) + (SPADLET |nw| (|htpProperty| |htPage| '|nw|)) + (SPADLET |nq| (|htpProperty| |htPage| '|nq|)) + (SPADLET |ifail| (|htpProperty| |htPage| '|ifail|)) + (SPADLET |alist| (|htpInputAreaAlist| |htPage|)) + (SPADLET |y| |alist|) + (DO () ((NULL |y|) NIL) + (SEQ (EXIT (PROGN + (SPADLET |right| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |mid| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |left| + (STRCONC (ELT (CAR |y|) 1) '| |)) + (SPADLET |y| (CDR |y|)) + (SPADLET |xlist| (CONS |left| |xlist|)) + (SPADLET |flist| (CONS |mid| |flist|)) + (SPADLET |dlist| (CONS |right| |dlist|)))))) + (SPADLET |xstring| (|bcwords2liststring| |xlist|)) + (SPADLET |fstring| (|bcwords2liststring| |flist|)) + (SPADLET |dstring| (|bcwords2liststring| |dlist|)) + (SPADLET |prefix| + (STRCONC (MAKESTRING "e01sef(") (STRINGIMAGE |m|) + '|,[| |xstring| '|],[| |fstring| '|],[|)) + (SPADLET |prefix| + (STRCONC |prefix| |dstring| '|],| + (STRINGIMAGE |nw|) '|, | + (STRINGIMAGE |nq|))) + (SPADLET |prefix| + (STRCONC |prefix| '|, | |rnw| '|, | |rnq| '|, | + (STRINGIMAGE |ifail|) '|)|)) + (|linkGen| |prefix|)))))) + +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document}