include more low-level bindings
[clinton/guile-figl.git] / upstream-man-pages / manglsl / clamp.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id="clamp">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>2011</year>
9 <holder>Khronos Group</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>clamp</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>clamp</refname>
17 <refpurpose>constrain a value to lie between two further values</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>Declaration</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>genType <function>clamp</function></funcdef>
23 <paramdef>genType <parameter>x</parameter></paramdef>
24 <paramdef>genType <parameter>minVal</parameter></paramdef>
25 <paramdef>genType <parameter>maxVal</parameter></paramdef>
26 </funcprototype>
27 </funcsynopsis>
28 <funcsynopsis>
29 <funcprototype>
30 <funcdef>genType <function>clamp</function></funcdef>
31 <paramdef>genType <parameter>x</parameter></paramdef>
32 <paramdef>float <parameter>minVal</parameter></paramdef>
33 <paramdef>float <parameter>maxVal</parameter></paramdef>
34 </funcprototype>
35 </funcsynopsis>
36 <funcsynopsis>
37 <funcprototype>
38 <funcdef>genDType <function>clamp</function></funcdef>
39 <paramdef>genDType <parameter>x</parameter></paramdef>
40 <paramdef>genDType <parameter>minVal</parameter></paramdef>
41 <paramdef>genDType <parameter>maxVal</parameter></paramdef>
42 </funcprototype>
43 </funcsynopsis>
44 <funcsynopsis>
45 <funcprototype>
46 <funcdef>genDType <function>clamp</function></funcdef>
47 <paramdef>genDType <parameter>x</parameter></paramdef>
48 <paramdef>double <parameter>minVal</parameter></paramdef>
49 <paramdef>double <parameter>maxVal</parameter></paramdef>
50 </funcprototype>
51 </funcsynopsis>
52 <funcsynopsis>
53 <funcprototype>
54 <funcdef>genIType <function>clamp</function></funcdef>
55 <paramdef>genIType <parameter>x</parameter></paramdef>
56 <paramdef>genIType <parameter>minVal</parameter></paramdef>
57 <paramdef>genIType <parameter>maxVal</parameter></paramdef>
58 </funcprototype>
59 </funcsynopsis>
60 <funcsynopsis>
61 <funcprototype>
62 <funcdef>genIType <function>clamp</function></funcdef>
63 <paramdef>genIType <parameter>x</parameter></paramdef>
64 <paramdef>int <parameter>minVal</parameter></paramdef>
65 <paramdef>int <parameter>maxVal</parameter></paramdef>
66 </funcprototype>
67 </funcsynopsis>
68 <funcsynopsis>
69 <funcprototype>
70 <funcdef>genUType <function>clamp</function></funcdef>
71 <paramdef>genUType <parameter>x</parameter></paramdef>
72 <paramdef>genUType <parameter>minVal</parameter></paramdef>
73 <paramdef>genUType <parameter>maxVal</parameter></paramdef>
74 </funcprototype>
75 </funcsynopsis>
76 <funcsynopsis>
77 <funcprototype>
78 <funcdef>genUType <function>clamp</function></funcdef>
79 <paramdef>genUType <parameter>x</parameter></paramdef>
80 <paramdef>uint <parameter>minVal</parameter></paramdef>
81 <paramdef>uint <parameter>maxVal</parameter></paramdef>
82 </funcprototype>
83 </funcsynopsis>
84 </refsynopsisdiv>
85 <refsect1 id="parameters"><title>Parameters</title>
86 <variablelist>
87 <varlistentry>
88 <term><parameter>x</parameter></term>
89 <listitem>
90 <para>
91 Specify the value to constrain.
92 </para>
93 </listitem>
94 </varlistentry>
95 <varlistentry>
96 <term><parameter>minVal</parameter></term>
97 <listitem>
98 <para>
99 Specify the lower end of the range into which to constrain <parameter>x</parameter>.
100 </para>
101 </listitem>
102 </varlistentry>
103 <varlistentry>
104 <term><parameter>maxVal</parameter></term>
105 <listitem>
106 <para>
107 Specify the upper end of the range into which to constrain <parameter>x</parameter>.
108 </para>
109 </listitem>
110 </varlistentry>
111 </variablelist>
112 </refsect1>
113 <refsect1 id="description"><title>Description</title>
114 <para>
115 <function>clamp</function> returns the value of <parameter>x</parameter> constrained to the
116 range <parameter>minVal</parameter> to <parameter>maxVal</parameter>. The returned value is
117 computed as
118 <citerefentry><refentrytitle>min</refentrytitle></citerefentry>(<citerefentry><refentrytitle>max</refentrytitle></citerefentry>(<parameter>x</parameter>,
119 <parameter>minVal</parameter>), <parameter>maxVal</parameter>).
120 </para>
121 </refsect1>
122 <refsect1 id="versions"><title>Version Support</title>
123 <informaltable frame="topbot">
124 #VARTABLECOLS#
125 <thead>
126 #FUNCTABLEHEADER#
127 <row>
128 <entry>clamp (genType)</entry>#newin11#
129 </row>
130 <row>
131 <entry>clamp (genIType)</entry>#newin13#
132 </row>
133 <row>
134 <entry>clamp (genUType)</entry>#newin13#
135 </row>
136 <row>
137 <entry>clamp (genDType)</entry>#newin40#
138 </row>
139 </thead>
140 </tgroup>
141 </informaltable>
142 </refsect1>
143 <refsect1 id="seealso"><title>See Also</title>
144 <para>
145 <citerefentry><refentrytitle>min</refentrytitle></citerefentry>,
146 <citerefentry><refentrytitle>max</refentrytitle></citerefentry>
147 </para>
148 </refsect1>
149 <refsect1 id="Copyright"><title>Copyright</title>
150 <para>
151 Copyright <trademark class="copyright"></trademark> 2011 Khronos Group.
152 This material may be distributed subject to the terms and conditions set forth in
153 the Open Publication License, v 1.0, 8 June 1999.
154 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
155 </para>
156 </refsect1>
157 </refentry>