@@ -88,17 +88,17 @@ Conventions:
8888
8989 .. math ::
9090 \begin {array}{lll@{\qquad }l}
91- \satu _N(i) &=& 2 ^N-1 & (\iff i > 2 ^N-1 )\\
9291 \satu _N(i) &=& 0 & (\iff i < 0 ) \\
92+ \satu _N(i) &=& 2 ^N-1 & (\iff i > 2 ^N-1 )\\
9393 \satu _N(i) &=& i & (\otherwise ) \\
9494 \end {array}
9595
9696 * Signed saturation, :math: `\sats _N(i)` clamps :math: `i` to between :math: `-2 ^{N-1 }` and :math: `2 ^{N-1 }-1 `:
9797
9898 .. math ::
9999 \begin {array}{lll@{\qquad }l}
100- \sats _N(i) &=& \signed _N^{- 1 }(- 2 ^{N-1 }) & (\iff i < -2 ^{N-1 })\\
101- \sats _N(i) &=& \signed _N^{- 1 }( 2 ^{N-1 }-1 ) & (\iff i > 2 ^{N-1 }-1 )\\
100+ \sats _N(i) &=& - 2 ^{N-1 } & (\iff i < -2 ^{N-1 })\\
101+ \sats _N(i) &=& 2 ^{N-1 }-1 & (\iff i > 2 ^{N-1 }-1 )\\
102102 \sats _N(i) &=& i & (\otherwise )
103103 \end {array}
104104
@@ -860,11 +860,11 @@ The integer result of predicates -- i.e., :ref:`tests <syntax-testop>` and :ref:
860860
861861* Let :math: `j` be the result of adding :math: `j_1 ` and :math: `j_2 `.
862862
863- * Return :math: `\sats _N(j)`.
863+ * Return the value whose signed interpretation is :math: `\sats _N(j)`.
864864
865865.. math ::
866866 \begin {array}{lll@{\qquad }l}
867- \iaddsats _N(i_1 , i_2 ) &=& \sats _N(\signed _N(i_1 ) + \signed _N(i_2 ))
867+ \iaddsats _N(i_1 , i_2 ) &=& \signed _N^{- 1 }( \ sats _N(\signed _N(i_1 ) + \signed _N(i_2 ) ))
868868 \end {array}
869869
870870
@@ -894,11 +894,11 @@ The integer result of predicates -- i.e., :ref:`tests <syntax-testop>` and :ref:
894894
895895* Let :math: `j` be the result of subtracting :math: `j_2 ` from :math: `j_1 `.
896896
897- * Return :math: `\sats _N(j)`.
897+ * Return the value whose signed interpretation is :math: `\sats _N(j)`.
898898
899899.. math ::
900900 \begin {array}{lll@{\qquad }l}
901- \isubsats _N(i_1 , i_2 ) &=& \sats _N(\signed _N(i_1 ) - \signed _N(i_2 ))
901+ \isubsats _N(i_1 , i_2 ) &=& \signed _N^{- 1 }( \ sats _N(\signed _N(i_1 ) - \signed _N(i_2 ) ))
902902 \end {array}
903903
904904
@@ -922,11 +922,11 @@ The integer result of predicates -- i.e., :ref:`tests <syntax-testop>` and :ref:
922922:math: `\iq15 mulrsats_N(i_1 , i_2 )`
923923.................................
924924
925- * Return the result of :math: `\sats _N(\ishrs _N(i_1 \cdot i_2 + 2 ^{14 }, 15 ))`.
925+ * Return the whose signed interpretation is the result of :math: `\sats _N(\ishrs _N(i_1 \cdot i_2 + 2 ^{14 }, 15 ))`.
926926
927927.. math ::
928928 \begin {array}{lll@{\qquad }l}
929- \iq15 mulrsats_N(i_1 , i_2 ) &=& \sats _N(\ishrs _N(i_1 \cdot i_2 + 2 ^{14 }, 15 ))
929+ \iq15 mulrsats_N(i_1 , i_2 ) &=& \signed _N^{- 1 }( \ sats _N(\ishrs _N(i_1 \cdot i_2 + 2 ^{14 }, 15 ) ))
930930 \end {array}
931931
932932
@@ -1901,14 +1901,14 @@ Conversions
19011901
19021902* Else if :math: `z` is positive infinity, then return :math: `2 ^{N-1 } - 1 `.
19031903
1904- * Else, return :math: `\sats _N(\trunc (z))`.
1904+ * Else, return the value whose signed interpretation is :math: `\sats _N(\trunc (z))`.
19051905
19061906.. math ::
19071907 \begin {array}{lll@{\qquad }l}
19081908 \truncsats _{M,N}(\pm \NAN (n)) &=& 0 \\
19091909 \truncsats _{M,N}(- \infty ) &=& -2 ^{N-1 } \\
19101910 \truncsats _{M,N}(+ \infty ) &=& 2 ^{N-1 }-1 \\
1911- \truncsats _{M,N}(z) &=& \sats _N(\trunc (z)) \\
1911+ \truncsats _{M,N}(z) &=& \signed _N^{- 1 }( \ sats _N(\trunc (z) )) \\
19121912 \end {array}
19131913
19141914
@@ -2006,11 +2006,11 @@ Conversions
20062006
20072007* Let :math: `j` be the :ref: `signed interpretation <aux-signed >` of :math: `i` of size :math: `M`.
20082008
2009- * Return :math: `\sats _N(j)`.
2009+ * Return the value whose signed interpretation is :math: `\sats _N(j)`.
20102010
20112011.. math ::
20122012 \begin {array}{lll@{\qquad }l}
2013- \narrows _{M,N}(i) &=& \sats _N(\signed _M(i))
2013+ \narrows _{M,N}(i) &=& \signed _N^{- 1 }( \ sats _N(\signed _M(i) ))
20142014 \end {array}
20152015
20162016
@@ -2163,11 +2163,11 @@ This is an auxiliary operator for the specification of |RELAXEDDOT|.
21632163
21642164The implementation-specific behaviour of this operation is determined by the global parameter :math: `R_{\F {idot}} \in \{ 0 , 1 \}`.
21652165
2166- * Return :math: `\relaxed (R_{\F {idot}})[ \imul _N(\extends _{M,N}(i_1 ), extends_{M,N}), \imul _N(\extends _{M,N}(i_1 ), \extendu _{M,N}(i_2 )) ]`.
2166+ * Return :math: `\relaxed (R_{\F {idot}})[ \imul _N(\extends _{M,N}(i_1 ), \ extends _{M,N}(i_ 2 ) ), \imul _N(\extends _{M,N}(i_1 ), \extendu _{M,N}(i_2 )) ]`.
21672167
21682168.. math ::
21692169 \begin {array}{@{}lcll}
2170- \irelaxeddotmul _{M,N}(i_1 , i_2 ) &=& \relaxed (R_{\F {idot}})[ \imul _N(\extends _{M,N}(i_1 ), extends_{M,N}), \imul _N(\extends _{M,N}(i_1 ), \extendu _{M,N}(i_2 )) ] \\
2170+ \irelaxeddotmul _{M,N}(i_1 , i_2 ) &=& \relaxed (R_{\F {idot}})[ \imul _N(\extends _{M,N}(i_1 ), \ extends _{M,N}(i_ 2 ) ), \imul _N(\extends _{M,N}(i_1 ), \extendu _{M,N}(i_2 )) ] \\
21712171 \end {array}
21722172
21732173 .. note ::
@@ -2220,7 +2220,7 @@ The implementation-specific behaviour of this operation is determined by the glo
22202220 .. note ::
22212221 Relaxed unsigned truncation is implementation-dependent for NaNs and out-of-range values.
22222222 In the :ref: `deterministic profile <profile-deterministic >`,
2223- it behaves like regular :math: `\truncu `.
2223+ it behaves like regular :math: `\truncsatu `.
22242224
22252225
22262226.. _op-relaxed_trunc_s :
@@ -2243,7 +2243,7 @@ The implementation-specific behaviour of this operation is determined by the glo
22432243 .. note ::
22442244 Relaxed signed truncation is implementation-dependent for NaNs and out-of-range values.
22452245 In the :ref: `deterministic profile <profile-deterministic >`,
2246- it behaves like regular :math: `\truncs `.
2246+ it behaves like regular :math: `\truncsats `.
22472247
22482248
22492249.. _op-irelaxed_swizzle :
0 commit comments