From: Corbin Simpson Date: Thu, 17 Jun 2010 01:45:50 +0000 (-0700) Subject: gallium/docs: Explain DFRACEXP/DLDEXP. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f98c462770ad26888c4c89f7e0989c2dba48e77d;p=mesa.git gallium/docs: Explain DFRACEXP/DLDEXP. --- diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst index ba844a2d26c..ecab7cb8097 100644 --- a/src/gallium/docs/source/tgsi.rst +++ b/src/gallium/docs/source/tgsi.rst @@ -1125,19 +1125,29 @@ Support for these opcodes is XXX undecided. :T .. opcode:: DFRACEXP - Convert Number to Fractional and Integral Components +Like the ``frexp()`` routine in many math libraries, this opcode stores the +exponent of its source to ``dst0``, and the significand to ``dst1``, such that +:math:`dst1 \times 2^{dst0} = src` . + .. math:: - dst0.xy = frexp(src.xy, dst1.xy) + dst0.xy = exp(src.xy) + + dst1.xy = frac(src.xy) + + dst0.zw = exp(src.zw) + + dst1.zw = frac(src.zw) - dst0.zw = frexp(src.zw, dst1.zw) +.. opcode:: DLDEXP - Multiply Number by Integral Power of 2 -.. opcode:: DLDEXP - Multiple Number by Integral Power of 2 +This opcode is the inverse of :opcode:`DFRACEXP`. .. math:: - dst.xy = ldexp(src0.xy, src1.xy) + dst.xy = src0.xy \times 2^{src1.xy} - dst.zw = ldexp(src0.zw, src1.zw) + dst.zw = src0.zw \times 2^{src1.zw} .. opcode:: DMIN - Minimum