Skip to content

Commit a5e17b0

Browse files
committed
add least square polynomial interpolation and tcl8.6 support, docs update
1 parent 1fb0025 commit a5e17b0

17 files changed

+7463
-125
lines changed

README.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
![Static Badge](https://img.shields.io/badge/license-GPL3-blue)
44

55
![Static Badge](https://img.shields.io/badge/Tcl_version-9.0-blue)
6+
![Static Badge](https://img.shields.io/badge/Tcl_version-8.6.15-blue)
67

78
![Static Badge](https://img.shields.io/badge/Kubuntu_24.04-pass-green)
89

10+
![Static Badge](https://img.shields.io/badge/Windows_11-pass-green)
11+
912
# Content
1013

1114
This package provides tcl wrapper for interpolation procedures.
@@ -15,7 +18,7 @@ The source of procedures is [Interpolation Routines](https://people.math.sc.edu/
1518

1619
For building you need:
1720
- [SWIG of version 4.3](https://www.swig.org/download.html)
18-
- [Tcl9](https://www.tcl.tk/software/tcltk/9.0.html)
21+
- [Tcl9](https://www.tcl.tk/software/tcltk/9.0.html) or [Tcl8.6.15](https://www.tcl.tk/software/tcltk/8.6.html)
1922
- [gcc compiler](https://gcc.gnu.org/)
2023
- [make tool](https://www.gnu.org/software/make/)
2124
- [autoconf tool](https://www.gnu.org/software/autoconf/)
@@ -30,6 +33,8 @@ To compile, run `swig_gen.sh` to create SWIG wrapper file, then run
3033
make
3134
sudo make install
3235
```
36+
If you have different versions of Tcl on the same machine, you can set the path to this version with `-with-tcl=path`
37+
flag to configure script.
3338

3439
For Windows build it is strongly recommended to use [MSYS64 UCRT64 environment](https://www.msys2.org/), the above
3540
steps are identical if you run it from UCRT64 shell. After installing the package, you can move tclinterp package
@@ -39,7 +44,7 @@ installation.
3944
# Supported platforms
4045

4146
I've tested it on:
42-
- Kubuntu 24.04 with Tcl9
47+
- Kubuntu 24.04 with Tcl 9 and Tcl 8.6.15
4348
- Windows 11 in MSYS64 UCRT64 environment with Tcl9
4449

4550
# Documentation

autom4te.cache/output.0

+2-2
Original file line numberDiff line numberDiff line change
@@ -5349,7 +5349,7 @@ printf "%s\n" "$ac_cv_c_bigendian" >&6; }
53495349
#-----------------------------------------------------------------------
53505350

53515351

5352-
vars="interp.c tclinterp_wrap.c"
5352+
vars="interp.c tclinterp_wrap.c spline.c"
53535353
for i in $vars; do
53545354
case $i in
53555355
\$*)
@@ -5384,7 +5384,7 @@ printf "%s\n" "$ac_cv_c_bigendian" >&6; }
53845384

53855385

53865386

5387-
vars="generic/interp.h"
5387+
vars="generic/interp.h generic/spline.h"
53885388
for i in $vars; do
53895389
# check for existence, be strict because it is installed
53905390
if test ! -f "${srcdir}/$i" ; then

autom4te.cache/requests

+50-50
Original file line numberDiff line numberDiff line change
@@ -16,69 +16,69 @@
1616
'configure.ac'
1717
],
1818
{
19-
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
20-
'AM_PROG_CXX_C_O' => 1,
21-
'AH_OUTPUT' => 1,
19+
'include' => 1,
20+
'AC_SUBST' => 1,
21+
'AM_POT_TOOLS' => 1,
22+
'AC_CONFIG_LIBOBJ_DIR' => 1,
23+
'AM_MAINTAINER_MODE' => 1,
24+
'AM_GNU_GETTEXT' => 1,
25+
'LT_SUPPORTED_TAG' => 1,
26+
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
27+
'LT_INIT' => 1,
28+
'AM_PROG_AR' => 1,
29+
'AM_PROG_MKDIR_P' => 1,
30+
'AC_SUBST_TRACE' => 1,
2231
'AM_CONDITIONAL' => 1,
23-
'AM_PROG_FC_C_O' => 1,
24-
'AC_CANONICAL_SYSTEM' => 1,
25-
'AM_PROG_CC_C_O' => 1,
32+
'IT_PROG_INTLTOOL' => 1,
2633
'_AM_COND_IF' => 1,
34+
'_AM_COND_ENDIF' => 1,
35+
'm4_sinclude' => 1,
36+
'AC_CONFIG_HEADERS' => 1,
2737
'AC_CONFIG_AUX_DIR' => 1,
28-
'AM_AUTOMAKE_VERSION' => 1,
29-
'_LT_AC_TAGCONFIG' => 1,
30-
'AC_REQUIRE_AUX_FILE' => 1,
31-
'AM_NLS' => 1,
32-
'AM_PROG_F77_C_O' => 1,
38+
'AC_CANONICAL_SYSTEM' => 1,
39+
'AM_INIT_AUTOMAKE' => 1,
40+
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
41+
'AM_PROG_FC_C_O' => 1,
42+
'AM_SILENT_RULES' => 1,
43+
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
3344
'AC_LIBSOURCE' => 1,
34-
'AC_CANONICAL_BUILD' => 1,
35-
'AM_PROG_MKDIR_P' => 1,
36-
'AC_CONFIG_HEADERS' => 1,
37-
'LT_SUPPORTED_TAG' => 1,
38-
'AM_XGETTEXT_OPTION' => 1,
39-
'AC_SUBST_TRACE' => 1,
40-
'_AM_MAKEFILE_INCLUDE' => 1,
41-
'AC_FC_SRCEXT' => 1,
4245
'AC_CONFIG_FILES' => 1,
43-
'AC_CANONICAL_TARGET' => 1,
4446
'AC_CONFIG_SUBDIRS' => 1,
45-
'AC_PROG_LIBTOOL' => 1,
46-
'LT_CONFIG_LTDL_DIR' => 1,
47-
'AC_CONFIG_LINKS' => 1,
48-
'AC_FC_FREEFORM' => 1,
49-
'_AM_COND_ENDIF' => 1,
47+
'AC_FC_PP_SRCEXT' => 1,
48+
'AM_ENABLE_MULTILIB' => 1,
49+
'AC_CANONICAL_BUILD' => 1,
50+
'AM_PROG_MOC' => 1,
51+
'AC_REQUIRE_AUX_FILE' => 1,
5052
'AM_PROG_LIBTOOL' => 1,
53+
'_AM_COND_ELSE' => 1,
5154
'AM_PATH_GUILE' => 1,
52-
'AC_CONFIG_LIBOBJ_DIR' => 1,
53-
'LT_INIT' => 1,
55+
'm4_pattern_forbid' => 1,
5456
'AC_FC_PP_DEFINE' => 1,
55-
'm4_sinclude' => 1,
56-
'GTK_DOC_CHECK' => 1,
57+
'AC_PROG_LIBTOOL' => 1,
58+
'_LT_AC_TAGCONFIG' => 1,
5759
'_m4_warn' => 1,
60+
'm4_include' => 1,
61+
'AC_CANONICAL_TARGET' => 1,
62+
'AC_DEFINE_TRACE_LITERAL' => 1,
63+
'AM_PROG_CC_C_O' => 1,
64+
'AM_MAKEFILE_INCLUDE' => 1,
65+
'AM_NLS' => 1,
66+
'AC_CONFIG_LINKS' => 1,
5867
'sinclude' => 1,
59-
'include' => 1,
60-
'm4_pattern_allow' => 1,
61-
'AM_PROG_AR' => 1,
62-
'AM_ENABLE_MULTILIB' => 1,
63-
'AC_FC_PP_SRCEXT' => 1,
64-
'AC_CANONICAL_HOST' => 1,
65-
'IT_PROG_INTLTOOL' => 1,
66-
'AM_INIT_AUTOMAKE' => 1,
67-
'AM_SILENT_RULES' => 1,
68-
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
69-
'AC_SUBST' => 1,
70-
'_AM_COND_ELSE' => 1,
71-
'AM_POT_TOOLS' => 1,
72-
'AM_MAINTAINER_MODE' => 1,
73-
'AM_GNU_GETTEXT' => 1,
7468
'_AM_SUBST_NOTMAKE' => 1,
75-
'm4_pattern_forbid' => 1,
76-
'AM_PROG_MOC' => 1,
77-
'AM_MAKEFILE_INCLUDE' => 1,
78-
'AC_DEFINE_TRACE_LITERAL' => 1,
69+
'LT_CONFIG_LTDL_DIR' => 1,
7970
'AC_INIT' => 1,
80-
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
81-
'm4_include' => 1
71+
'AM_XGETTEXT_OPTION' => 1,
72+
'_AM_MAKEFILE_INCLUDE' => 1,
73+
'AM_PROG_F77_C_O' => 1,
74+
'AC_FC_FREEFORM' => 1,
75+
'AM_AUTOMAKE_VERSION' => 1,
76+
'AC_CANONICAL_HOST' => 1,
77+
'AH_OUTPUT' => 1,
78+
'AM_PROG_CXX_C_O' => 1,
79+
'AC_FC_SRCEXT' => 1,
80+
'GTK_DOC_CHECK' => 1,
81+
'm4_pattern_allow' => 1
8282
}
8383
], 'Autom4te::Request' )
8484
);

configure

+2-2
Original file line numberDiff line numberDiff line change
@@ -5349,7 +5349,7 @@ printf "%s\n" "$ac_cv_c_bigendian" >&6; }
53495349
#-----------------------------------------------------------------------
53505350

53515351

5352-
vars="interp.c tclinterp_wrap.c"
5352+
vars="interp.c tclinterp_wrap.c spline.c"
53535353
for i in $vars; do
53545354
case $i in
53555355
\$*)
@@ -5384,7 +5384,7 @@ printf "%s\n" "$ac_cv_c_bigendian" >&6; }
53845384

53855385

53865386

5387-
vars="generic/interp.h"
5387+
vars="generic/interp.h generic/spline.h"
53885388
for i in $vars; do
53895389
# check for existence, be strict because it is installed
53905390
if test ! -f "${srcdir}/$i" ; then

configure.ac

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ TEA_SETUP_COMPILER
7171
# and PKG_TCL_SOURCES.
7272
#-----------------------------------------------------------------------
7373

74-
TEA_ADD_SOURCES([interp.c tclinterp_wrap.c])
75-
TEA_ADD_HEADERS([generic/interp.h])
74+
TEA_ADD_SOURCES([interp.c tclinterp_wrap.c spline.c])
75+
TEA_ADD_HEADERS([generic/interp.h generic/spline.h])
7676
TEA_ADD_INCLUDES([])
7777
TEA_ADD_LIBS([])
7878
TEA_ADD_CFLAGS([])

docs/index-docindex.html

+2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
<ul id='indexUL'>
3535
<li class='ruff-tip'><a href='index-tclinterp.html#::tclinterp::array2list'>array2list</a><span class='ruff-tiptext'><pre>&lt;span class='ruff_cmd'&gt;array2list&lt;/span&gt; &lt;span class='ruff_arg'&gt;<b><font color=#923B23>array</font></b> length&lt;/span&gt;</pre>Convert doubleArray to the list
3636
</span> ::tclinterp</li><li class='ruff-tip'><a href='index-tclinterp.html#::tclinterp::createArray'>createArray</a><span class='ruff-tiptext'><pre>&lt;span class='ruff_cmd'&gt;createArray&lt;/span&gt; &lt;span class='ruff_arg'&gt;<b><font color=#923B23>list</font></b>&lt;/span&gt;</pre>Create doubleArray from the list
37+
</span> ::tclinterp</li><li class='ruff-tip'><a href='index-tclinterp.html#::tclinterp::deleteArrays'>deleteArrays</a><span class='ruff-tiptext'><pre>&lt;span class='ruff_cmd'&gt;deleteArrays&lt;/span&gt; &lt;span class='ruff_arg'&gt;?args?&lt;/span&gt;</pre>Convert doubleArray to the list
3738
</span> ::tclinterp</li><li class='ruff-tip'><a href='index-tclinterp.html#::tclinterp::interpLagr1d'>interpLagr1d</a><span class='ruff-tiptext'><pre>&lt;span class='ruff_cmd'&gt;interpLagr1d&lt;/span&gt; &lt;span class='ruff_arg'&gt;?args?&lt;/span&gt;</pre>Does Lagrange polynomial one-dimensional interpolation.
39+
</span> ::tclinterp</li><li class='ruff-tip'><a href='index-tclinterp.html#::tclinterp::interpLeast1d'>interpLeast1d</a><span class='ruff-tiptext'><pre>&lt;span class='ruff_cmd'&gt;interpLeast1d&lt;/span&gt; &lt;span class='ruff_arg'&gt;?args?&lt;/span&gt;</pre>Does least squares polynomial one-dimensional interpolation.
3840
</span> ::tclinterp</li><li class='ruff-tip'><a href='index-tclinterp.html#::tclinterp::interpLin1d'>interpLin1d</a><span class='ruff-tiptext'><pre>&lt;span class='ruff_cmd'&gt;interpLin1d&lt;/span&gt; &lt;span class='ruff_arg'&gt;?args?&lt;/span&gt;</pre>Does linear one-dimensional interpolation.
3941
</span> ::tclinterp</li><li class='ruff-tip'><a href='index-tclinterp.html#::tclinterp::interpNear1d'>interpNear1d</a><span class='ruff-tiptext'><pre>&lt;span class='ruff_cmd'&gt;interpNear1d&lt;/span&gt; &lt;span class='ruff_arg'&gt;?args?&lt;/span&gt;</pre>Does nearest one-dimensional interpolation.
4042
</span> ::tclinterp</li>

0 commit comments

Comments
 (0)