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