rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / manglsl / mix.xml
CommitLineData
7faf1d71
AW
1<?xml version="1.0" encoding="UTF-8"?>\r
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"\r
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">\r
4<refentry id="mix">\r
5 <refmeta>\r
6 <refmetainfo>\r
7 <copyright>\r
8 <year>2011</year>\r
9 <holder>Khronos Group</holder>\r
10 </copyright>\r
11 </refmetainfo>\r
12 <refentrytitle>mix</refentrytitle>\r
13 <manvolnum>3G</manvolnum>\r
14 </refmeta>\r
15 <refnamediv>\r
16 <refname>mix</refname>\r
17 <refpurpose>linearly interpolate between two values</refpurpose>\r
18 </refnamediv>\r
19 <refsynopsisdiv><title>Declaration</title>\r
20 <funcsynopsis>\r
21 <funcprototype>\r
22 <funcdef>genType <function>mix</function></funcdef>\r
23 <paramdef>genType <parameter>x</parameter></paramdef>\r
24 <paramdef>genType <parameter>y</parameter></paramdef>\r
25 <paramdef>genType <parameter>a</parameter></paramdef>\r
26 </funcprototype>\r
27 </funcsynopsis>\r
28 <funcsynopsis>\r
29 <funcprototype>\r
30 <funcdef>genType <function>mix</function></funcdef>\r
31 <paramdef>genType <parameter>x</parameter></paramdef>\r
32 <paramdef>genType <parameter>y</parameter></paramdef>\r
33 <paramdef>float <parameter>a</parameter></paramdef>\r
34 </funcprototype>\r
35 </funcsynopsis>\r
36 <funcsynopsis>\r
37 <funcprototype>\r
38 <funcdef>genDType <function>mix</function></funcdef>\r
39 <paramdef>genDType <parameter>x</parameter></paramdef>\r
40 <paramdef>genDType <parameter>y</parameter></paramdef>\r
41 <paramdef>genDType <parameter>a</parameter></paramdef>\r
42 </funcprototype>\r
43 </funcsynopsis>\r
44 <funcsynopsis>\r
45 <funcprototype>\r
46 <funcdef>genDType <function>mix</function></funcdef>\r
47 <paramdef>genDType <parameter>x</parameter></paramdef>\r
48 <paramdef>genDType <parameter>y</parameter></paramdef>\r
49 <paramdef>double <parameter>a</parameter></paramdef>\r
50 </funcprototype>\r
51 </funcsynopsis>\r
52 <funcsynopsis>\r
53 <funcprototype>\r
54 <funcdef>genType <function>mix</function></funcdef>\r
55 <paramdef>genType <parameter>x</parameter></paramdef>\r
56 <paramdef>genType <parameter>y</parameter></paramdef>\r
57 <paramdef>genBType <parameter>a</parameter></paramdef>\r
58 </funcprototype>\r
59 </funcsynopsis>\r
60 <funcsynopsis>\r
61 <funcprototype>\r
62 <funcdef>genDType <function>mix</function></funcdef>\r
63 <paramdef>genDType <parameter>x</parameter></paramdef>\r
64 <paramdef>genDType <parameter>y</parameter></paramdef>\r
65 <paramdef>genBType <parameter>a</parameter></paramdef>\r
66 </funcprototype>\r
67 </funcsynopsis>\r
68 </refsynopsisdiv>\r
69 <refsect1 id="parameters"><title>Parameters</title>\r
70 <variablelist>\r
71 <varlistentry>\r
72 <term><parameter>x</parameter></term>\r
73 <listitem>\r
74 <para>\r
75 Specify the start of the range in which to interpolate.\r
76 </para>\r
77 </listitem>\r
78 </varlistentry>\r
79 <varlistentry>\r
80 <term><parameter>y</parameter></term>\r
81 <listitem>\r
82 <para>\r
83 Specify the end of the range in which to interpolate.\r
84 </para>\r
85 </listitem>\r
86 </varlistentry>\r
87 <varlistentry>\r
88 <term><parameter>a</parameter></term>\r
89 <listitem>\r
90 <para>\r
91 Specify the value to use to interpolate between <parameter>x</parameter> and <parameter>y</parameter>.\r
92 </para>\r
93 </listitem>\r
94 </varlistentry>\r
95 </variablelist>\r
96 </refsect1>\r
97 <refsect1 id="description"><title>Description</title>\r
98 <para>\r
99 <function>mix</function> performs a linear interpolation between <parameter>x</parameter>\r
100 and <parameter>y</parameter> using <parameter>a</parameter> to weight between them. The return value\r
101 is computed as follows:\r
102 <inlineequation>\r
103 <mml:math>\r
104 <mml:mi>x</mml:mi>\r
105 <mml:mo lspace='2px' rspace='2px'>&sdot;</mml:mo>\r
106 <mml:mo stretchy='false'>(</mml:mo>\r
107 <mml:mn>1</mml:mn>\r
108 <mml:mo>&minus;</mml:mo>\r
109 <mml:mi>a</mml:mi>\r
110 <mml:mo stretchy='false'>)</mml:mo>\r
111 <mml:mo>+</mml:mo>\r
112 <mml:mi>y</mml:mi>\r
113 <mml:mo lspace='2px' rspace='2px'>&sdot;</mml:mo>\r
114 <mml:mi>a</mml:mi>\r
115 </mml:math>\r
116 </inlineequation>.\r
117 </para>\r
118 <para>\r
119 For the variants of <function>mix</function> where <parameter>a</parameter> is <constant>genBType</constant>,\r
120 elements for which <parameter>a</parameter>[<emphasis>i</emphasis>] is <constant>false</constant>, the result for that\r
121 element is taken from <parameter>x</parameter>, and where <parameter>a</parameter>[<emphasis>i</emphasis>] is\r
122 <constant>true</constant>, it will be taken from <parameter>y</parameter>.\r
123 </para>\r
124 </refsect1>\r
125 <refsect1 id="versions"><title>Version Support</title>\r
126 <informaltable frame="topbot">\r
127 #VARTABLECOLS#\r
128 <thead>\r
129 #FUNCTABLEHEADER#\r
130 <row>\r
131 <entry>mix (genType)</entry>#newin11#\r
132 </row>\r
133 <row>\r
134 <entry>mix (genDType)</entry>#newin40#\r
135 </row>\r
136 </thead>\r
137 </tgroup>\r
138 </informaltable>\r
139 </refsect1>\r
140 <refsect1 id="seealso"><title>See Also</title>\r
141 <para>\r
142 <citerefentry><refentrytitle>min</refentrytitle></citerefentry>,\r
143 <citerefentry><refentrytitle>max</refentrytitle></citerefentry>\r
144 </para>\r
145 </refsect1>\r
146 <refsect1 id="Copyright"><title>Copyright</title>\r
147 <para>\r
148 Copyright <trademark class="copyright"></trademark> 2011 Khronos Group. \r
149 This material may be distributed subject to the terms and conditions set forth in \r
150 the Open Publication License, v 1.0, 8 June 1999.\r
151 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.\r
152 </para>\r
153 </refsect1>\r
154</refentry>\r