(no commit message)
authorlkcl <lkcl@web>
Wed, 11 Sep 2019 16:46:04 +0000 (17:46 +0100)
committerIkiWiki <ikiwiki.info>
Wed, 11 Sep 2019 16:46:04 +0000 (17:46 +0100)
ztrans_proposal.mdwn

index 7a6b03803e08542947fb6d9c37bd333a1b334793..d9c20b2d31caa59cb2d80252357f31cd302cdae3 100644 (file)
@@ -489,7 +489,9 @@ for certain algorithms may be too costly.
 These wildly differing and incompatible driving factors lead to the
 subset subdivisions, below.
 
-## Zftrans
+## Transcendental Subsets
+
+### Zftrans
 
 LOG2 EXP2 RECIP RSQRT
 
@@ -499,7 +501,7 @@ exp1m, log1p, the hyperbolic trigonometric functions sinh and so on.
 
 They are therefore considered "base" (essential) transcendentals.
 
-## ZftransExt
+### ZftransExt
 
 LOG, EXP, EXP10, LOG10, LOGP1, EXP1M
 
@@ -519,7 +521,32 @@ performance and accuracy.
 
 Therefore they are their own subset extension.
 
-## Ztrigpi vs Ztrignpi
+### Zfhyp
+
+These are the hyperbolic/inverse-hyperbolic finctions: SINH, COSH, TANH,
+ASINH, ACOSH, ATANH. Their use in 3D is limited.
+
+They can all be synthesised using LOG, SQRT and so on, so depend
+on Zftrans.  However, once again, at the limits of the range, IEEE754
+compliance becomes impossible, and thus a hardware implementation may
+be required.
+
+HPC and high-end GPUs are likely markets for these.
+
+## ZftransAdv
+
+CBRT, POW, ROOT (inverse of POW): these are simply much more complex
+to implement in hardware, and typically will only be put into HPC
+applications.
+
+ROOT is included as well as POW because at the extreme ranges one is
+more accurate than the other.
+
+* **Zfrsqrt**: Reciprocal square-root.
+
+## Trigonometric subsets
+
+### Ztrigpi vs Ztrignpi
 
 * **Ztrigpi**: SINPI COSPI TANPI * **Ztrignpi**: SIN COS TAN
 
@@ -542,7 +569,7 @@ the hardware algorithm as a loop invariant, with no power or area penalty.
 Thus again, the same general argument applies to give Ztrignpi and
 Ztrigpi as subsets.
 
-## Zarctrigpi and Zarctrignpi
+### Zarctrigpi and Zarctrignpi
 
 * **Zarctrigpi**: ATAN2PI ASINPI ACOSPI * **Zarctrignpi**: ATAN2 ACOS ADIN
 
@@ -557,29 +584,6 @@ is acceptable for 3D.
 
 Therefore they are their own subset extensions.
 
-## Zfhyp
-
-These are the hyperbolic/inverse-hyperbolic finctions: SINH, COSH, TANH,
-ASINH, ACOSH, ATANH. Their use in 3D is limited.
-
-They can all be synthesised using LOG, SQRT and so on, so depend
-on Zftrans.  However, once again, at the limits of the range, IEEE754
-compliance becomes impossible, and thus a hardware implementation may
-be required.
-
-HPC and high-end GPUs are likely markets for these.
-
-## ZftransAdv
-
-CBRT, POW, ROOT (inverse of POW): these are simply much more complex
-to implement in hardware, and typically will only be put into HPC
-applications.
-
-ROOT is included as well as POW because at the extreme ranges one is
-more accurate than the other.
-
-* **Zfrsqrt**: Reciprocal square-root.
-
 # Synthesis, Pseudo-code ops and macro-ops
 
 The pseudo-ops are best left up to the compiler rather than being actual