Accesses table values by direct indexing with linear interpolation.
15
</refpurpose>
13
</refpurpose>
16
14
</refnamediv>
17
15
18
16
<refsect1>
53
51
<emphasis>iwrap</emphasis> (optional) -- wraparound index flag. The default value is 0.
54
52
<itemizedlist>
55
53
<listitem>
56
<para>0 = nowrap (index < 0 treated as index=0; index tablesize sticks at index=size)</para>
54
<para>0 = nowrap (index < 0 treated as index=0; index > tablesize sticks at index=size)</para>
57
55
</listitem>
58
56
59
57
<listitem>
66
64
<refsect1>
67
65
<title>Performance</title>
68
66
<para>
69
<emphasis>tablei</emphasis> is a interpolating unit in which the fractional part of index is used to interpolate between adjacent table entries. The smoothness gained by interpolation is at some small cost in execution time (see also <link linkend="oscili"><citetitle>oscili</citetitle></link>, etc.), but the interpolating and non-interpolating units are otherwise interchangeable. Note that when <emphasis>tablei</emphasis> uses a periodic index whose modulo <emphasis>n</emphasis> is less than the power of 2 table length, the interpolation process requires that there be an (<emphasis>n</emphasis>+ 1)th table value that is a repeat of the 1st (see <link linkend="f"><citetitle>f Statement</citetitle></link> in score).
67
<emphasis>tablei</emphasis> is a interpolating unit in which the fractional part of index is used to interpolate between adjacent table entries. The smoothness gained by interpolation is at some small cost in execution time (see also <link linkend="oscili"><citetitle>oscili</citetitle></link>, etc.), but the interpolating and non-interpolating units are otherwise interchangeable. Note that when <emphasis>tablei</emphasis> uses a periodic index whose modulo <emphasis>n</emphasis> is less than the power of 2 table length, the interpolation process requires that there be an (<emphasis>n</emphasis> + 1)th table value that is a repeat of the 1st (see <link linkend="f"><citetitle>f Statement</citetitle></link> in score).