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 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="libgimpmath-GimpMath">
<refmeta>
<refentrytitle role="top_of_page" id="libgimpmath-GimpMath.top_of_page">GimpMath</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>LIBGIMPMATH Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GimpMath</refname>
<refpurpose>Mathematical definitions and macros.</refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>
<refsynopsisdiv id="libgimpmath-GimpMath.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>
<synopsis>
#define <link linkend="RINT:CAPS">RINT</link> (x)
#define <link linkend="ROUND:CAPS">ROUND</link> (x)
#define <link linkend="SQR:CAPS">SQR</link> (x)
#define <link linkend="MAX255:CAPS">MAX255</link> (a)
#define <link linkend="CLAMP0255:CAPS">CLAMP0255</link> (a)
#define <link linkend="gimp-deg-to-rad">gimp_deg_to_rad</link> (angle)
#define <link linkend="gimp-rad-to-deg">gimp_rad_to_deg</link> (angle)
</synopsis>
</refsynopsisdiv>
<refsect1 id="libgimpmath-GimpMath.description" role="desc">
<title role="desc.title">Description</title>
<para>
Mathematical definitions and macros. These macros should be used
rather than the ones from math.h for enhanced portability.
</para>
</refsect1>
<refsect1 id="libgimpmath-GimpMath.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="RINT:CAPS" role="macro">
<title>RINT()</title>
<indexterm zone="RINT:CAPS"><primary>RINT</primary></indexterm><programlisting>#define RINT(x)</programlisting>
<para>
This macro rounds its argument <parameter>x</parameter> to an integer value in floating point
format.
</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter> :</term>
<listitem><simpara>the value to be rounded.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="ROUND:CAPS" role="macro">
<title>ROUND()</title>
<indexterm zone="ROUND:CAPS"><primary>ROUND</primary></indexterm><programlisting>#define ROUND(x) ((int) ((x) + 0.5))
</programlisting>
<para>
This macro rounds its argument <parameter>x</parameter> to the nearest integer.
</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter> :</term>
<listitem><simpara>the value to be rounded.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="SQR:CAPS" role="macro">
<title>SQR()</title>
<indexterm zone="SQR:CAPS"><primary>SQR</primary></indexterm><programlisting>#define SQR(x) ((x) * (x))
</programlisting>
<para>
This macro squares its argument <parameter>x</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter> :</term>
<listitem><simpara>the value to be squared.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="MAX255:CAPS" role="macro">
<title>MAX255()</title>
<indexterm zone="MAX255:CAPS"><primary>MAX255</primary></indexterm><programlisting>#define MAX255(a) ((a) | (((a) & 256) - (((a) & 256) >> 8)))
</programlisting>
<para>
This macro limits it argument <parameter>a</parameter>, an (0-511) int, to 255.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter> :</term>
<listitem><simpara>the value to be limited.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="CLAMP0255:CAPS" role="macro">
<title>CLAMP0255()</title>
<indexterm zone="CLAMP0255:CAPS"><primary>CLAMP0255</primary></indexterm><programlisting>#define CLAMP0255(a) CLAMP(a,0,255)
</programlisting>
<para>
This macro clamps its argument <parameter>a</parameter>, an int32-range int, between 0 and
255 inclusive.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter> :</term>
<listitem><simpara>the value to be clamped.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gimp-deg-to-rad" role="macro">
<title>gimp_deg_to_rad()</title>
<indexterm zone="gimp-deg-to-rad"><primary>gimp_deg_to_rad</primary></indexterm><programlisting>#define gimp_deg_to_rad(angle) ((angle) * (2.0 * G_PI) / 360.0)
</programlisting>
<para>
This macro converts its argument <parameter>angle</parameter> from degree to radian.
</para><variablelist role="params">
<varlistentry><term><parameter>angle</parameter> :</term>
<listitem><simpara>the angle to be converted.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gimp-rad-to-deg" role="macro">
<title>gimp_rad_to_deg()</title>
<indexterm zone="gimp-rad-to-deg"><primary>gimp_rad_to_deg</primary></indexterm><programlisting>#define gimp_rad_to_deg(angle) ((angle) * 360.0 / (2.0 * G_PI))
</programlisting>
<para>
This macro converts its argument <parameter>angle</parameter> from radian to degree.
</para><variablelist role="params">
<varlistentry><term><parameter>angle</parameter> :</term>
<listitem><simpara>the angle to be converted.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>
</refentry>
|