003 File Manager
Current Path:
/usr/local/share/groff/1.22.4/tmac
usr
/
local
/
share
/
groff
/
1.22.4
/
tmac
/
📁
..
📄
62bit.tmac
(5.24 KB)
📄
X.tmac
(3.31 KB)
📄
Xps.tmac
(1.74 KB)
📄
a4.tmac
(714 B)
📄
an-ext.tmac
(3.7 KB)
📄
an-old.tmac
(14.32 KB)
📄
an.tmac
(313 B)
📄
andoc.tmac
(2.59 KB)
📄
composite.tmac
(805 B)
📄
cp1047.tmac
(2.4 KB)
📄
cs.tmac
(4.72 KB)
📄
de.tmac
(5.01 KB)
📄
den.tmac
(1.2 KB)
📄
devtag.tmac
(3.74 KB)
📄
doc-old.tmac
(35.71 KB)
📄
doc.tmac
(84.59 KB)
📄
dvi.tmac
(23.96 KB)
📄
e.tmac
(21.58 KB)
📄
ec.tmac
(994 B)
📄
eqnrc
(1.39 KB)
📄
europs.tmac
(1.65 KB)
📄
fallbacks.tmac
(1.38 KB)
📄
fr.tmac
(5.43 KB)
📄
hdmisc.tmac
(3.34 KB)
📄
hdtbl.tmac
(16.96 KB)
📄
html-end.tmac
(440 B)
📄
html.tmac
(16.04 KB)
📄
hyphen.cs
(20.93 KB)
📄
hyphen.den
(156.33 KB)
📄
hyphen.det
(157.14 KB)
📄
hyphen.fr
(27.55 KB)
📄
hyphen.sv
(34.02 KB)
📄
hyphen.us
(27.46 KB)
📄
hyphenex.cs
(505 B)
📄
hyphenex.us
(21.25 KB)
📄
ja.tmac
(1.89 KB)
📄
latin1.tmac
(2.22 KB)
📄
latin2.tmac
(2.31 KB)
📄
latin5.tmac
(2.23 KB)
📄
latin9.tmac
(2.22 KB)
📄
lbp.tmac
(2.1 KB)
📄
lj4.tmac
(584 B)
📄
m.tmac
(77.39 KB)
📄
man.tmac
(58 B)
📄
mandoc.tmac
(61 B)
📁
mdoc
📄
mdoc.tmac
(57 B)
📄
me.tmac
(53 B)
📁
mm
📄
mm.tmac
(49 B)
📄
mmse.tmac
(53 B)
📄
mom.tmac
(51 B)
📄
ms.tmac
(53 B)
📄
mse.tmac
(3.47 KB)
📄
om.tmac
(694.42 KB)
📄
papersize.tmac
(4.23 KB)
📄
pdf.tmac
(27.64 KB)
📄
pdfmark.tmac
(68.85 KB)
📄
pdfpic.tmac
(3.67 KB)
📄
pic.tmac
(139 B)
📄
ps.tmac
(20.09 KB)
📄
psatk.tmac
(1.08 KB)
📄
psold.tmac
(1.79 KB)
📄
pspic.tmac
(4.88 KB)
📄
refer-me.tmac
(2.78 KB)
📄
refer-mm.tmac
(2.88 KB)
📄
refer-ms.tmac
(2.38 KB)
📄
refer.tmac
(9.55 KB)
📄
s.tmac
(37.12 KB)
📄
safer.tmac
(218 B)
📄
spdf.tmac
(4.99 KB)
📄
sv.tmac
(4.3 KB)
📄
trace.tmac
(7.21 KB)
📄
trans.tmac
(4.69 KB)
📄
troffrc
(1.6 KB)
📄
troffrc-end
(1.14 KB)
📄
tty-char.tmac
(5.69 KB)
📄
tty.tmac
(1.84 KB)
📄
unicode.tmac
(93 B)
📄
www.tmac
(39.94 KB)
📄
zh.tmac
(1.69 KB)
Editing: 62bit.tmac
.\" 62bit.tmac .\" .\" Copyright (C) 2003-2018 Free Software Foundation, Inc. .\" Written by Werner Lemberg (wl@gnu.org) .\" .\" This file is part of groff. .\" .\" groff is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License as published by .\" the Free Software Foundation, either version 3 of the License, or .\" (at your option) any later version. .\" .\" groff is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY .\" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public .\" License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see .\" <http://www.gnu.org/licenses/>. .\" .\" .\" This file provides macros for addition, multiplication, and division .\" of 62-bit signed integers. Its main application is to 'scale' .\" 31-bit values--namely, to perform the operation 'a * b / c' .\" accurately. .\" .\" Note that it is the duty of the user to check whether the input .\" values fit within 31 bits (this is the range .\" [-1073741824,1073741823]). .\" . .if d add31to62 \ . nx . . .\" .add31to62 <x> <y> <z> .\" .\" Add a 31-bit signed integer to a signed 62-bit integer. Result is a .\" signed 62-bit integer: .\" .\" <x> + (<y>h * 2^30 + <y>l) = <z>h * 2^30 + <z>l .\" .\" .\" in: \n[<x>], \n[<y>h], \n[<y>l] .\" .\" out: \n[<z>h], \n[<z>l] .\" .\" Example: .add31to62 p q r .\" .\" -> input registers: \n[p], \n[qh], \n[ql] .\" output registers: \n[rh], \n[rl] .\" .de1 add31to62 . nr 62bit-lo2 (\\n[\\$2l]) . nr 62bit-hi2 (\\n[\\$2h]) . . nr 62bit-i ((\\n[\\$1] + \\n[62bit-lo2]) / 1073741824) . nr \\$3l ((\\n[\\$1] + \\n[62bit-lo2]) % 1073741824) . . ie ((\\n[62bit-lo2] > 0) & (\\n[\\$3l] < 0)) \{\ . nr \\$3l +1073741824 . nr 62bit-i -1 . \} . el \ . if ((\\n[62bit-lo2] < 0) & (\\n[\\$3l] > 0)) \{\ . nr \\$3l -1073741824 . nr 62bit-i +1 . \} . . nr \\$3h (\\n[62bit-hi2] + \\n[62bit-i]) .. . . .\" .mult31by31 <x> <y> <z> .\" .\" Multiply two 31-bit signed integers. Result is a 62-bit signed .\" integer: .\" .\" <x> * <y> = <z>h * 2^30 + <z>l .\" .\" .\" in: \n[<x>], \n[<y>] .\" .\" out: \n[<z>h], \n[<z>l] .\" .\" Example: .mult31by31 a b c .\" .\" -> input registers: \n[a], \n[b] .\" output registers: \n[ch], \n[cl] .\" .de1 mult31by31 . nr 62bit-1 (\\n[\\$1]) . nr 62bit-2 (\\n[\\$2]) . . nr 62bit-sign 1 . if !\\n[62bit-1] \{\ . nr 62bit-sign -(\\n[62bit-sign]) . nr 62bit-1 -(\\n[62bit-1]) . \} . if !\\n[62bit-2] \{\ . nr 62bit-sign -(\\n[62bit-sign]) . nr 62bit-2 -(\\n[62bit-2]) . \} . . nr 62bit-lo1 (\\n[62bit-1] % 32768) . nr 62bit-hi1 (\\n[62bit-1] / 32768) . nr 62bit-lo2 (\\n[62bit-2] % 32768) . nr 62bit-hi2 (\\n[62bit-2] / 32768) . . nr 62bit-lo3 (\\n[62bit-lo1] * \\n[62bit-lo2] % 1073741824) . nr 62bit-i1 (\\n[62bit-lo1] * \\n[62bit-hi2] % 1073741824) . nr 62bit-i2 (\\n[62bit-lo2] * \\n[62bit-hi1] % 1073741824) . nr 62bit-hi3 (\\n[62bit-hi1] * \\n[62bit-hi2] % 1073741824) . . nr 62bit-i1 (\\n[62bit-i1] + \\n[62bit-i2] % 1073741824) . \" check carry overflow of 62bit-i1 + 62bit-i2 . if (\\n[62bit-i1] < \\n[62bit-i2]) \ . nr 62bit-hi3 +32768 . . nr 62bit-hi3 +(\\n[62bit-i1] / 32768) . \" multiply by 32768 in small steps to avoid overflow . nr 62bit-i 16 1 . while \\n-[62bit-i] \ . nr 62bit-i1 (\\n[62bit-i1] * 2 % 1073741824) . . nr 62bit-lo3 (\\n[62bit-lo3] + \\n[62bit-i1] % 1073741824) . \" check carry overflow of 62bit-i1 + lo . if (\\n[62bit-lo3] < \\n[62bit-i1]) \ . nr 62bit-hi3 +1 . . if !\\n[62bit-sign] \{\ . nr 62bit-lo3 -(\\n[62bit-lo3]) . nr 62bit-hi3 -(\\n[62bit-hi3]) . \} . nr \\$3l \\n[62bit-lo3] . nr \\$3h \\n[62bit-hi3] .. . . .\" .div62by31 <x> <y> <z> .\" .\" Divide a signed 62-bit integer by a 31-bit integer. Result is a .\" 31-bit signed integer: .\" .\" (<x>h * 2^30 + <x>l) / <y> = <z> .\" .\" .\" in: \n[<x>h], \n[<x>l], \n[<y>] .\" .\" out: \n[<z>] .\" .\" Example: .div62by31 foo bar baz .\" .\" -> input registers: \n[fooh] \n[fool] \n[bar] .\" output register: \n[baz] .\" .de1 div62by31 . nr 62bit-lo1 \\n[\\$1l] . nr 62bit-hi1 \\n[\\$1h] . nr 62bit-2 \\n[\\$2] . nr 62bit-3 0 . . nr 62bit-sign 1 . if ((\\n[62bit-lo1] < 0) : (\\n[62bit-hi1] < 0)) \{\ . nr 62bit-sign -(\\n[62bit-sign]) . nr 62bit-lo1 -(\\n[62bit-lo1]) . nr 62bit-hi1 -(\\n[62bit-hi1]) . \} . if !\\n[62bit-2] \{\ . nr 62bit-sign -(\\n[62bit-sign]) . nr 62bit-2 -(\\n[62bit-2]) . \} . . nr 62bit-i 31 1 . while \\n-[62bit-i] \{\ . nr 62bit-hi1 (\\n[62bit-hi1] * 2 % 1073741824) . nr 62bit-3 (\\n[62bit-3] * 2) . nr 62bit-hi1 +(\\n[62bit-lo1] / 536870912) . . if (\\n[62bit-hi1] >= \\n[62bit-2]) \{\ . nr 62bit-hi1 -\\n[62bit-2] . nr 62bit-3 +1 . \} . nr 62bit-lo1 (\\n[62bit-lo1] * 2 % 1073741824) . \} . . if !\\n[62bit-sign] \ . nr 62bit-3 -(\\n[62bit-3]) . nr \\$3 \\n[62bit-3] .. . .\" ==================================================================== .\" Editor settings .\" ==================================================================== . .\" Local Variables: .\" mode: nroff .\" fill-column: 72 .\" End: .\" vim: set filetype=groff textwidth=72:
Upload File
Create Folder