Previous Next
174
CHAPTER 3 Syntax
attribute is optional and can be used to clip the output to a specified range. Note
that when N is 1, the function performs a linear interpolation between C0 and C1;
therefore, the function can also be expressed as a sampled function (type 0).
3.9.3 Type 3 (Stitching) Functions
Type 3 functions (PDF 1.3) define a stitching of the subdomains of several 1-input
functions to produce a single new 1-input function. Since the resulting stitching
function is a 1-input function, the domain is given by a two-element array,
[ Domain0 Domain1 ].
In addition to the entries in Table 3.35 on page 168, a type 3 function dictionary
includes those listed in Table 3.38. (See implementation note 42 in Appendix H.)
TABLE 3.38 Additional entries specific to a type 3 function dictionary
KEY TYPE VALUE
Functions array (Required) An array of k 1-input functions making up the stitching function. The out-
put dimensionality of all functions must be the same, and compatible with the value of
Range if Range is present.
Bounds array (Required) An array of k − 1 numbers that, in combination with Domain, define the
intervals to which each function from the Functions array applies. Bounds elements
must be in order of increasing value, and each value must be within the domain
defined by Domain.
Encode array (Required) An array of 2 × k numbers that, taken in pairs, map each subset of the do-
main defined by Domain and the Bounds array to the domain of the corresponding
function.
Domain must be of size 2 (that is, m = 1), and Domain0 must be strictly less than
Domain1 unless k = 1. The domain is partitioned into k subdomains, as indicated
by the dictionary’s Bounds entry, which is an array of k − 1 numbers that obey the
following relationships (with exceptions as noted below):
Domain 0 < Bounds 0 < Bounds 1 < … < Bounds k – 2 < Domain 1
The Bounds array describes a series of half-open intervals, closed on the left and
open on the right (except the last, which is closed on the right as well). The value
of the Functions entry is an array of k functions. The first function applies to x
values in the first subdomain, Domain0 ≤ x < Bounds0 ; the second function
applies to x values in the second subdomain, Bounds0 ≤ x < Bounds1 ; and so on.
Previous Next