File: 1D-Index-Look_002dup-and-Acceleration.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (125 lines) | stat: -rw-r--r-- 7,009 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".

(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library &ndash; Reference Manual: 1D Index Look-up and Acceleration</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: 1D Index Look-up and Acceleration">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: 1D Index Look-up and Acceleration">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Interpolation.html#Interpolation" rel="up" title="Interpolation">
<link href="1D-Evaluation-of-Interpolating-Functions.html#g_t1D-Evaluation-of-Interpolating-Functions" rel="next" title="1D Evaluation of Interpolating Functions">
<link href="1D-Interpolation-Types.html#g_t1D-Interpolation-Types" rel="previous" title="1D Interpolation Types">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="g_t1D-Index-Look_002dup-and-Acceleration"></a>
<div class="header">
<p>
Next: <a href="1D-Evaluation-of-Interpolating-Functions.html#g_t1D-Evaluation-of-Interpolating-Functions" accesskey="n" rel="next">1D Evaluation of Interpolating Functions</a>, Previous: <a href="1D-Interpolation-Types.html#g_t1D-Interpolation-Types" accesskey="p" rel="previous">1D Interpolation Types</a>, Up: <a href="Interpolation.html#Interpolation" accesskey="u" rel="up">Interpolation</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="g_t1D-Index-Look_002dup-and-Acceleration-1"></a>
<h3 class="section">28.4 1D Index Look-up and Acceleration</h3>

<p>The state of searches can be stored in a <code>gsl_interp_accel</code> object,
which is a kind of iterator for interpolation lookups.  It caches the
previous value of an index lookup.  When the subsequent interpolation
point falls in the same interval its index value can be returned
immediately.
</p>
<dl>
<dt><a name="index-gsl_005finterp_005fbsearch"></a>Function: <em>size_t</em> <strong>gsl_interp_bsearch</strong> <em>(const double <var>x_array</var>[], double <var>x</var>, size_t <var>index_lo</var>, size_t <var>index_hi</var>)</em></dt>
<dd><p>This function returns the index <em>i</em> of the array <var>x_array</var> such
that <code>x_array[i] &lt;= x &lt; x_array[i+1]</code>.  The index is searched for
in the range [<var>index_lo</var>,<var>index_hi</var>].  An inline version of this function is used when <code>HAVE_INLINE</code> is defined.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005finterp_005faccel_005falloc"></a>Function: <em>gsl_interp_accel *</em> <strong>gsl_interp_accel_alloc</strong> <em>(void)</em></dt>
<dd><a name="index-gsl_005finterp_005faccel"></a>
<p>This function returns a pointer to an accelerator object, which is a
kind of iterator for interpolation lookups.  It tracks the state of
lookups, thus allowing for application of various acceleration
strategies.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005finterp_005faccel_005ffind"></a>Function: <em>size_t</em> <strong>gsl_interp_accel_find</strong> <em>(gsl_interp_accel * <var>a</var>, const double <var>x_array</var>[], size_t <var>size</var>, double <var>x</var>)</em></dt>
<dd><p>This function performs a lookup action on the data array <var>x_array</var>
of size <var>size</var>, using the given accelerator <var>a</var>.  This is how
lookups are performed during evaluation of an interpolation.  The
function returns an index <em>i</em> such that <code>x_array[i] &lt;= x &lt;
x_array[i+1]</code>.  An inline version of this function is used when <code>HAVE_INLINE</code> is defined.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005finterp_005faccel_005freset"></a>Function: <em>int</em> <strong>gsl_interp_accel_reset</strong> <em>(gsl_interp_accel * <var>acc</var>);</em></dt>
<dd><p>This function reinitializes the accelerator object <var>acc</var>.  It
should be used when the cached information is no longer
applicable&mdash;for example, when switching to a new dataset.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005finterp_005faccel_005ffree"></a>Function: <em>void</em> <strong>gsl_interp_accel_free</strong> <em>(gsl_interp_accel* <var>acc</var>)</em></dt>
<dd><p>This function frees the accelerator object <var>acc</var>.
</p></dd></dl>

<hr>
<div class="header">
<p>
Next: <a href="1D-Evaluation-of-Interpolating-Functions.html#g_t1D-Evaluation-of-Interpolating-Functions" accesskey="n" rel="next">1D Evaluation of Interpolating Functions</a>, Previous: <a href="1D-Interpolation-Types.html#g_t1D-Interpolation-Types" accesskey="p" rel="previous">1D Interpolation Types</a>, Up: <a href="Interpolation.html#Interpolation" accesskey="u" rel="up">Interpolation</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>