URL
https://opencores.org/ocsvn/eco32/eco32/trunk
Subversion Repositories eco32
[/] [eco32/] [trunk/] [fp/] [implementation/] [arith/] [mmix-arith.scn] - Rev 55
Go to most recent revision | Compare with Previous | Blame | View Log
\I\X47:Add nonzero numbers and \PB{\&{return}}\X
\U46.
\I\X49:Adjust for difference in exponents\X
\U47.
\I\X14:Check that \PB{$\|x<\|z$}; otherwise give trivial answer\X
\U13.
\I\X51:Compare two numbers with respect to epsilon and \PB{\&{return}}\X
\U50.
\I\X53:Compute the difference of fraction parts, \PB{\|o}\X
\U51.
\I\X65:Compute the significant digits in the large-exponent case\X
\U64.
\I\X64:Compute the significant digits \PB{\|s} and decimal exponent \PB{\|e}\X
\U54.
\I\X90:Convert to short float\X
\U89.
\I\X83:Determine the binary fraction and binary exponent\X
\U78.
\I\X16:Determine the number of significant places \PB{\|n} in the divisor \PB{%
\|v}\X
\U13.
\I\X20:Determine the quotient digit \PB{\|q[\|j]}\X
\U13.
\I\X45:Divide nonzero numbers and \PB{\&{return}}\X
\U44.
\I\X48:Exchange \PB{\|y} with \PB{\|z}\X
\Us47\ET51.
\I\X55:Extract the exponent \PB{\|e} and determine the fraction interval $[f%
\dts g]$ or $(f\dts g)$\X
\U54.
\I\X21:Find the trial quotient, $\hat q$\X
\U20.
\I\X4, 9, 30, 32, 69, 75:Global variables\X
\U1.
\I\X57:Handle the special case when the fraction part is zero\X
\U55.
\I\X23:If the result was negative, decrease $\hat q$ by 1\X
\U20.
\I\X87:Integerize and \PB{\&{return}}\X
\U86.
\I\X56, 66:Local variables for \PB{\\{print\_float}}\X
\U54.
\I\X70, 76, 81:Local variables for \PB{\\{scan\_const}}\X
\U68.
\I\X79:Move the digits from \PB{\\{buf}} to \PB{$\ff$}\X
\U78.
\I\X43:Multiply nonzero numbers and \PB{\&{return}}\X
\U41.
\I\X17:Normalize the divisor\X
\U13.
\I\X36, 59:Other type definitions\X
\U1.
\I\X84:Pack and round the answer\X
\U78.
\I\X19:Pack \PB{\|q} and \PB{\|u} to \PB{\\{acc}} and \PB{\\{aux}}\X
\U13.
\I\X11:Pack \PB{\|w} into the outputs \PB{\\{aux}} and \PB{\\{acc}}\X
\U8.
\I\X67:Print the significant digits with proper context\X
\U54.
\I\X80:Put the 9-digit number \PB{${*}\|p$}\thinspace\dots\thinspace\PB{${*}(%
\|p+\T{8})$} into \PB{$\ff.\\{dat}[\|k]$}\X
\U79.
\I\X95:Reduce \PB{$(\\{ye},\\{yf})$} by a multiple of \PB{\\{zf}}; \PB{\&{goto}
\\{zero\_out}} if the remainder is zero, \PB{\&{goto} \\{try\_complement}} if
appropriate\X
\U94.
\I\X94:Remainderize nonzero numbers and \PB{\&{return}}\X
\U93.
\I\X78:Return a floating point constant\X
\U73.
\I\X72:Return infinity\X
\U68.
\I\X71:Return the standard NaN\X
\U68.
\I\X33:Round and return the result\X
\U31.
\I\X35:Round and return the short result\X
\U34.
\I\X74:Scan a fraction part\X
\U73.
\I\X73:Scan a number and \PB{\&{return}}\X
\U68.
\I\X77:Scan an exponent\X
\U73.
\I\X63:Store $f$ and $g$ as multiprecise integers\X
\U54.
\I\X2:Stuff for \CEE/ preprocessor\X
\U1.
\I\X5, 6, 7, 8, 12, 13, 24, 25, 26, 27, 28, 29, 31, 34, 37, 38, 39, 40, 41, 44,
46, 50, 54, 60, 61, 62, 68, 82, 85, 86, 88, 89, 91, 93:Subroutines\X
\U1.
\I\X22:Subtract $b^j\hat q v$ from \PB{\|u}\X
\U20.
\I\X92:Take the square root and \PB{\&{return}}\X
\U91.
\I\X3:Tetrabyte and octabyte type definitions\X
\U1.
\I\X42:The usual NaN cases\X
\Us41, 44, 46\ETs93.
\I\X18:Unnormalize the remainder\X
\U13.
\I\X15:Unpack the dividend and divisor to \PB{\|u} and \PB{\|v}\X
\U13.
\I\X10:Unpack the multiplier and multiplicand to \PB{\|u} and \PB{\|v}\X
\U8.
\I\X52:Unsubnormalize \PB{\|y} and \PB{\|z}, if they are subnormal\X
\U51.
Go to most recent revision | Compare with Previous | Blame | View Log