2.54 MB
/srv/reproducible-results/rbuild-debian/tmp.m4LgyFv6X5/b1/spooles_2.2-14_amd64.changes vs.
/srv/reproducible-results/rbuild-debian/tmp.m4LgyFv6X5/b2/spooles_2.2-14_amd64.changes
469 B
Files
    
Offset 1, 5 lines modifiedOffset 1, 5 lines modified
  
1 ·92e3f2b2622307d4faf4227fa734c782·593696·libdevel·optional·libspooles-dev_2.2-14_amd64.deb1 ·92e3f2b2622307d4faf4227fa734c782·593696·libdevel·optional·libspooles-dev_2.2-14_amd64.deb
2 ·75d6dcc9abe7c7ee2256ecfd7f252b1b·1313256·debug·optional·libspooles2.2-dbgsym_2.2-14_amd64.deb2 ·75d6dcc9abe7c7ee2256ecfd7f252b1b·1313256·debug·optional·libspooles2.2-dbgsym_2.2-14_amd64.deb
3 ·e300b0910d840a12acc1906702df9905·462540·libs·optional·libspooles2.2_2.2-14_amd64.deb3 ·e300b0910d840a12acc1906702df9905·462540·libs·optional·libspooles2.2_2.2-14_amd64.deb
4 ·88142465caa4357deed73042ad2454c8·8171632·doc·optional·spooles-doc_2.2-14_all.deb4 ·d48e2e2425a3eb56e723eed5fd4d23bf·8172948·doc·optional·spooles-doc_2.2-14_all.deb
2.54 MB
spooles-doc_2.2-14_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2018-12-19·22:56:58.000000·debian-binary1 -rw-r--r--···0········0········0········4·2018-12-19·22:56:58.000000·debian-binary
2 -rw-r--r--···0········0········0·····1944·2018-12-19·22:56:58.000000·control.tar.xz2 -rw-r--r--···0········0········0·····1948·2018-12-19·22:56:58.000000·control.tar.xz
3 -rw-r--r--···0········0········0··8169496·2018-12-19·22:56:58.000000·data.tar.xz3 -rw-r--r--···0········0········0··8170808·2018-12-19·22:56:58.000000·data.tar.xz
685 B
control.tar.xz
657 B
control.tar
587 B
./control
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 Package:·spooles-doc1 Package:·spooles-doc
2 Source:·spooles2 Source:·spooles
3 Version:·2.2-143 Version:·2.2-14
4 Architecture:·all4 Architecture:·all
5 Maintainer:·Debian·Science·Maintainers·<debian-science-maintainers@lists.alioth.debian.org>5 Maintainer:·Debian·Science·Maintainers·<debian-science-maintainers@lists.alioth.debian.org>
6 Installed-Size:·81056 Installed-Size:·8110
7 Suggests:·libspooles2.2-dev7 Suggests:·libspooles2.2-dev
8 Section:·doc8 Section:·doc
9 Priority:·optional9 Priority:·optional
10 Homepage:·http://www.netlib.org/linalg/spooles/10 Homepage:·http://www.netlib.org/linalg/spooles/
11 Description:·SPOOLES·numerical·simulation·pre-·and·post-processor·documentation11 Description:·SPOOLES·numerical·simulation·pre-·and·post-processor·documentation
12 ·SPOOLES·is·a·library·for·solving·sparse·real·and·complex·linear·systems·of12 ·SPOOLES·is·a·library·for·solving·sparse·real·and·complex·linear·systems·of
13 ·equations,·written·in·the·C·language·using·object·oriented·design.13 ·equations,·written·in·the·C·language·using·object·oriented·design.
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
2.54 MB
data.tar.xz
2.54 MB
data.tar
12.4 KB
file list
    
Offset 1, 56 lines modifiedOffset 1, 56 lines modified
1 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./1 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./
2 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/2 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/
3 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/share/3 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/share/
4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/share/doc/4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/share/doc/
5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/
6 -rw-r--r--···0·root·········(0)·root·········(0)···148999·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/A2.ps.gz6 -rw-r--r--···0·root·········(0)·root·········(0)···149043·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/A2.ps.gz
7 -rw-r--r--···0·root·········(0)·root·········(0)···596035·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ASHCRAFC.ps.gz7 -rw-r--r--···0·root·········(0)·root·········(0)···596035·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ASHCRAFC.ps.gz
8 -rw-r--r--···0·root·········(0)·root·········(0)···323893·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/AllInOne.ps.gz8 -rw-r--r--···0·root·········(0)·root·········(0)···324178·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/AllInOne.ps.gz
9 -rw-r--r--···0·root·········(0)·root·········(0)···124557·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/BKL.ps.gz9 -rw-r--r--···0·root·········(0)·root·········(0)···124639·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/BKL.ps.gz
10 -rw-r--r--···0·root·········(0)·root·········(0)···152582·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/BPG.ps.gz10 -rw-r--r--···0·root·········(0)·root·········(0)···152613·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/BPG.ps.gz
11 -rw-r--r--···0·root·········(0)·root·········(0)···188849·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Chv.ps.gz11 -rw-r--r--···0·root·········(0)·root·········(0)···188922·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Chv.ps.gz
12 -rw-r--r--···0·root·········(0)·root·········(0)····97595·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ChvList.ps.gz12 -rw-r--r--···0·root·········(0)·root·········(0)····97692·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ChvList.ps.gz
13 -rw-r--r--···0·root·········(0)·root·········(0)····98588·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ChvManager.ps.gz13 -rw-r--r--···0·root·········(0)·root·········(0)····98679·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ChvManager.ps.gz
14 -rw-r--r--···0·root·········(0)·root·········(0)···118158·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Coords.ps.gz14 -rw-r--r--···0·root·········(0)·root·········(0)···118224·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Coords.ps.gz
15 -rw-r--r--···0·root·········(0)·root·········(0)···113116·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DSTree.ps.gz15 -rw-r--r--···0·root·········(0)·root·········(0)···113174·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DSTree.ps.gz
16 -rw-r--r--···0·root·········(0)·root·········(0)···130857·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DV.ps.gz16 -rw-r--r--···0·root·········(0)·root·········(0)···130959·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DV.ps.gz
17 -rw-r--r--···0·root·········(0)·root·········(0)···115085·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DenseMtx.ps.gz17 -rw-r--r--···0·root·········(0)·root·········(0)···115203·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DenseMtx.ps.gz
18 -rw-r--r--···0·root·········(0)·root·········(0)···104072·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Drand.ps.gz18 -rw-r--r--···0·root·········(0)·root·········(0)···104140·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Drand.ps.gz
19 -rw-r--r--···0·root·········(0)·root·········(0)···118854·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/EGraph.ps.gz19 -rw-r--r--···0·root·········(0)·root·········(0)···118801·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/EGraph.ps.gz
20 -rw-r--r--···0·root·········(0)·root·········(0)···219584·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ETree.ps.gz20 -rw-r--r--···0·root·········(0)·root·········(0)···219670·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ETree.ps.gz
21 -rw-r--r--···0·root·········(0)·root·········(0)···251532·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Eigen.ps.gz21 -rw-r--r--···0·root·········(0)·root·········(0)···251888·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Eigen.ps.gz
22 -rw-r--r--···0·root·········(0)·root·········(0)···176946·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/FrontMtx.ps.gz22 -rw-r--r--···0·root·········(0)·root·········(0)···176968·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/FrontMtx.ps.gz
23 -rw-r--r--···0·root·········(0)·root·········(0)···280386·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/FrontTrees.ps.gz23 -rw-r--r--···0·root·········(0)·root·········(0)···280480·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/FrontTrees.ps.gz
24 -rw-r--r--···0·root·········(0)·root·········(0)···181282·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/GPart.ps.gz24 -rw-r--r--···0·root·········(0)·root·········(0)···181434·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/GPart.ps.gz
25 -rw-r--r--···0·root·········(0)·root·········(0)···188444·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Graph.ps.gz25 -rw-r--r--···0·root·········(0)·root·········(0)···188549·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Graph.ps.gz
26 -rw-r--r--···0·root·········(0)·root·········(0)···128669·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/I2Ohash.ps.gz26 -rw-r--r--···0·root·········(0)·root·········(0)···128746·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/I2Ohash.ps.gz
27 -rw-r--r--···0·root·········(0)·root·········(0)···106885·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IIheap.ps.gz27 -rw-r--r--···0·root·········(0)·root·········(0)···106971·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IIheap.ps.gz
28 -rw-r--r--···0·root·········(0)·root·········(0)···118830·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IV.ps.gz28 -rw-r--r--···0·root·········(0)·root·········(0)···118893·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IV.ps.gz
29 -rw-r--r--···0·root·········(0)·root·········(0)···121633·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IVL.ps.gz29 -rw-r--r--···0·root·········(0)·root·········(0)···121767·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IVL.ps.gz
30 -rw-r--r--···0·root·········(0)·root·········(0)····99265·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Ideq.ps.gz30 -rw-r--r--···0·root·········(0)·root·········(0)····99320·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Ideq.ps.gz
31 -rw-r--r--···0·root·········(0)·root·········(0)···203299·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/InpMtx.ps.gz31 -rw-r--r--···0·root·········(0)·root·········(0)···203343·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/InpMtx.ps.gz
32 -rw-r--r--···0·root·········(0)·root·········(0)···280080·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/LinSol.ps.gz32 -rw-r--r--···0·root·········(0)·root·········(0)···280299·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/LinSol.ps.gz
33 -rw-r--r--···0·root·········(0)·root·········(0)····93322·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Lock.ps.gz33 -rw-r--r--···0·root·········(0)·root·········(0)····93408·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Lock.ps.gz
34 -rw-r--r--···0·root·········(0)·root·········(0)···172742·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MPI.ps.gz34 -rw-r--r--···0·root·········(0)·root·········(0)···172825·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MPI.ps.gz
35 -rw-r--r--···0·root·········(0)·root·········(0)···173319·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MSMD.ps.gz35 -rw-r--r--···0·root·········(0)·root·········(0)···173437·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MSMD.ps.gz
36 -rw-r--r--···0·root·········(0)·root·········(0)···159801·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MT.ps.gz36 -rw-r--r--···0·root·········(0)·root·········(0)···159961·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MT.ps.gz
37 -rw-r--r--···0·root·········(0)·root·········(0)···143204·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Network.ps.gz37 -rw-r--r--···0·root·········(0)·root·········(0)···143285·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Network.ps.gz
38 -rw-r--r--···0·root·········(0)·root·········(0)···139933·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/PatchAndGoInfo.ps.gz38 -rw-r--r--···0·root·········(0)·root·········(0)···140014·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/PatchAndGoInfo.ps.gz
39 -rw-r--r--···0·root·········(0)·root·········(0)···121780·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Pencil.ps.gz39 -rw-r--r--···0·root·········(0)·root·········(0)···121860·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Pencil.ps.gz
40 -rw-r--r--···0·root·········(0)·root·········(0)···103517·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Perm.ps.gz40 -rw-r--r--···0·root·········(0)·root·········(0)···103659·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Perm.ps.gz
41 -rw-r--r--···0·root·········(0)·root·········(0)···910089·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ReferenceManual.ps.gz41 -rw-r--r--···0·root·········(0)·root·········(0)···910576·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ReferenceManual.ps.gz
42 -rw-r--r--···0·root·········(0)·root·········(0)···149800·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SemiImplMtx.ps.gz42 -rw-r--r--···0·root·········(0)·root·········(0)···149850·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SemiImplMtx.ps.gz
43 -rw-r--r--···0·root·········(0)·root·········(0)···131012·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SolveMap.ps.gz43 -rw-r--r--···0·root·········(0)·root·········(0)···131027·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SolveMap.ps.gz
44 -rw-r--r--···0·root·········(0)·root·········(0)···172851·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtx.ps.gz44 -rw-r--r--···0·root·········(0)·root·········(0)···172998·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtx.ps.gz
45 -rw-r--r--···0·root·········(0)·root·········(0)····98260·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtxList.ps.gz45 -rw-r--r--···0·root·········(0)·root·········(0)····98348·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtxList.ps.gz
46 -rw-r--r--···0·root·········(0)·root·········(0)···114725·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtxManager.ps.gz46 -rw-r--r--···0·root·········(0)·root·········(0)···114815·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtxManager.ps.gz
47 -rw-r--r--···0·root·········(0)·root·········(0)···117683·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SymbFac.ps.gz47 -rw-r--r--···0·root·········(0)·root·········(0)···117778·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SymbFac.ps.gz
48 -rw-r--r--···0·root·········(0)·root·········(0)···165491·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Tree.ps.gz48 -rw-r--r--···0·root·········(0)·root·········(0)···165578·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Tree.ps.gz
49 -rw-r--r--···0·root·········(0)·root·········(0)···186846·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Utilities.ps.gz49 -rw-r--r--···0·root·········(0)·root·········(0)···186899·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Utilities.ps.gz
50 -rw-r--r--···0·root·········(0)·root·········(0)···124831·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ZV.ps.gz50 -rw-r--r--···0·root·········(0)·root·········(0)···124921·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ZV.ps.gz
51 -rw-r--r--···0·root·········(0)·root·········(0)·····1881·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/changelog.Debian.gz51 -rw-r--r--···0·root·········(0)·root·········(0)·····1881·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/changelog.Debian.gz
52 -rw-r--r--···0·root·········(0)·root·········(0)······378·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/copyright52 -rw-r--r--···0·root·········(0)·root·········(0)······378·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/copyright
53 -rw-r--r--···0·root·········(0)·root·········(0)···187366·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/misc.ps.gz53 -rw-r--r--···0·root·········(0)·root·········(0)···187552·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/misc.ps.gz
54 -rw-r--r--···0·root·········(0)·root·········(0)·····9600·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/spooles.2.2.html54 -rw-r--r--···0·root·········(0)·root·········(0)·····9600·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/spooles.2.2.html
55 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/share/doc-base/55 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2018-12-19·22:56:58.000000·./usr/share/doc-base/
56 -rw-r--r--···0·root·········(0)·root·········(0)······430·2018-12-19·22:56:58.000000·./usr/share/doc-base/spooles56 -rw-r--r--···0·root·········(0)·root·········(0)······430·2018-12-19·22:56:58.000000·./usr/share/doc-base/spooles
46.7 KB
./usr/share/doc/spooles-doc/A2.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3049321 gzip·compressed·data,·max·compression,·from·Unix,·original·size·305134
46.5 KB
A2.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMSY10·CMTI10·CMSL108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMSY10·CMTI10·CMSL10
9 %%+·CMMI12·CMMI7·CMR79 %%+·CMMI12·CMMI7·CMR7
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·A2.ps13 %DVIPSCommandLine:·dvips·main·-o·A2.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1367, 19 lines modifiedOffset 1367, 20 lines modified
1367 end·readonly·def1367 end·readonly·def
1368 /Encoding·256·array1368 /Encoding·256·array
1369 0·1·255·{1·index·exch·/.notdef·put}·for1369 0·1·255·{1·index·exch·/.notdef·put}·for
1370 dup·44·/comma·put1370 dup·44·/comma·put
1371 dup·48·/zero·put1371 dup·48·/zero·put
1372 dup·49·/one·put1372 dup·49·/one·put
1373 dup·50·/two·put1373 dup·50·/two·put
1374 dup·53·/five·put1374 dup·56·/eight·put
1375 dup·58·/colon·put1375 dup·58·/colon·put
1376 dup·74·/J·put1376 dup·70·/F·put
1377 dup·97·/a·put1377 dup·97·/a·put
 1378 dup·98·/b·put
1378 dup·110·/n·put1379 dup·101·/e·put
1379 dup·114·/r·put1380 dup·114·/r·put
1380 dup·117·/u·put1381 dup·117·/u·put
1381 dup·121·/y·put1382 dup·121·/y·put
1382 readonly·def1383 readonly·def
1383 currentdict·end1384 currentdict·end
1384 currentfile·eexec1385 currentfile·eexec
1385 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71386 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1563, 84 lines modifiedOffset 1564, 86 lines modified
1563 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1564 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1564 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821565 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1565 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1566 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1566 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51567 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1567 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051568 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1568 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051569 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1569 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671570 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1570 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041571 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1571 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1572 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1573 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1574 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1575 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1576 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1577 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1578 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1579 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1580 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1581 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1582 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1583 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1584 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1585 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1586 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1587 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1588 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1589 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1590 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1591 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1592 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1593 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1594 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1595 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1596 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1597 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1598 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1599 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1600 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1601 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1602 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1603 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1604 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1605 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1606 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1607 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1608 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1609 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1610 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1611 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1612 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1613 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1614 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1615 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1616 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1617 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1618 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1619 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1620 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1621 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1622 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1623 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1624 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1625 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1626 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1627 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1628 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1629 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1630 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1631 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1632 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1633 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1634 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1635 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1636 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1637 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1638 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1639 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51572 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1573 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1574 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1575 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1576 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1577 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1578 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1579 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1580 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1581 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1582 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1583 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1584 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1585 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 22345/33489 bytes (66.72%) of diff not shown.
13.8 KB
ps2ascii {}
    
Offset 20, 15 lines modifiedOffset 20, 15 lines modified
20 ··············A2·IS·REAL(mtx)·is·1·if·mtx·has·real·entries·and·0·otherwise.\xd20 ··············A2·IS·REAL(mtx)·is·1·if·mtx·has·real·entries·and·0·otherwise.\xd
21 ··············A2·IS·COMPLEX(mtx)·is·1·if·mtx·has·complex·entries·and·0·otherwise.\xd21 ··············A2·IS·COMPLEX(mtx)·is·1·if·mtx·has·complex·entries·and·0·otherwise.\xd
22 ···········TheA2·copyEntriesToVector()methodusesthefollowingconstants:·A2·STRICT·LOWER,A2·LOWER,A2·DIAGONAL,\xd22 ···········TheA2·copyEntriesToVector()methodusesthefollowingconstants:·A2·STRICT·LOWER,A2·LOWER,A2·DIAGONAL,\xd
23 ···········A2·UPPER,·A2·STRICT·UPPER,·A2·ALL·ENTRIES,·A2·BY·ROWS·and·A2·BY·COLUMNS.\xd23 ···········A2·UPPER,·A2·STRICT·UPPER,·A2·ALL·ENTRIES,·A2·BY·ROWS·and·A2·BY·COLUMNS.\xd
24 ···········1.2··Prototypes·and·descriptions·of·A2·methods\xd24 ···········1.2··Prototypes·and·descriptions·of·A2·methods\xd
25 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·A2·object.\xd25 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·A2·object.\xd
26 ·············································1\xd26 ·············································1\xd
27 ··············2······························A2·:·DRAFT·January·15,·2021\xd27 ··············2······························A2·:·DRAFT·February·18,·2022\xd
28 ··············1.2.1··Basic·methods\xd28 ··············1.2.1··Basic·methods\xd
29 ··············Asusual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing·any·allocated\xd29 ··············Asusual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing·any·allocated\xd
30 ··············data,·and·free’ing·the·object.\xd30 ··············data,·and·free’ing·the·object.\xd
31 ················1.·A2·*·A2_new·(·void·)·;\xd31 ················1.·A2·*·A2_new·(·void·)·;\xd
32 ··················This·method·simply·allocates·storage·for·the·A2·structure·and·then·sets·the·default·fields·by·a·call·to\xd32 ··················This·method·simply·allocates·storage·for·the·A2·structure·and·then·sets·the·default·fields·by·a·call·to\xd
33 ··················A2·setDefaultFields().\xd33 ··················A2·setDefaultFields().\xd
34 ················2.·void·A2_setDefaultFields·(·A2·*mtx·)·;\xd34 ················2.·void·A2_setDefaultFields·(·A2·*mtx·)·;\xd
Offset 56, 15 lines modifiedOffset 56, 15 lines modified
56 ················4.·int·A2_inc2·(·A2·*mtx·)·;\xd56 ················4.·int·A2_inc2·(·A2·*mtx·)·;\xd
57 ··················This·method·returns·the·secondary·increment,·the·stride·in·memory·(with·respect·to·real·or·complex\xd57 ··················This·method·returns·the·secondary·increment,·the·stride·in·memory·(with·respect·to·real·or·complex\xd
58 ··················entries)·between·adjacent·entries·in·the·same·row.\xd58 ··················entries)·between·adjacent·entries·in·the·same·row.\xd
59 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd59 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
60 ················5.·double·*·A2_entries·(·A2·*mtx·)·;\xd60 ················5.·double·*·A2_entries·(·A2·*mtx·)·;\xd
61 ··················This·method·returns·a·pointer·to·the·base·address·of·the·entries.\xd61 ··················This·method·returns·a·pointer·to·the·base·address·of·the·entries.\xd
62 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd62 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
63 ···········································A2·:·DRAFT··January·15,·2021························3\xd63 ···········································A2·:·DRAFT··February·18,·2022·······················3\xd
64 ···············6.·double·*·A2_row·(·A2·*mtx,·int·irow·)·;\xd64 ···············6.·double·*·A2_row·(·A2·*mtx,·int·irow·)·;\xd
65 ··················This·method·returns·a·pointer·to·the·leading·element·of·row·irow.\xd65 ··················This·method·returns·a·pointer·to·the·leading·element·of·row·irow.\xd
66 ··················Error·checking:·If·mtx·or·entries·is·NULL,·or·if·irow·is·not·in·[0,n1-1],·an·error·message·is·printed\xd66 ··················Error·checking:·If·mtx·or·entries·is·NULL,·or·if·irow·is·not·in·[0,n1-1],·an·error·message·is·printed\xd
67 ··················and·the·program·exits.\xd67 ··················and·the·program·exits.\xd
68 ···············7.·double·*·A2_column·(·A2·*mtx,·int·jcol·)·;\xd68 ···············7.·double·*·A2_column·(·A2·*mtx,·int·jcol·)·;\xd
69 ··················This·method·returns·a·pointer·to·the·leading·element·of·column·jcol.\xd69 ··················This·method·returns·a·pointer·to·the·leading·element·of·column·jcol.\xd
70 ··················Error·checking:·If·mtx·or·entries·is·NULL,·or·if·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed\xd70 ··················Error·checking:·If·mtx·or·entries·is·NULL,·or·if·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed\xd
Offset 93, 15 lines modifiedOffset 93, 15 lines modified
93 ··················or·if·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed·and·the·program·exits.\xd93 ··················or·if·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed·and·the·program·exits.\xd
94 ··············13.·void·A2_pointerToComplexEntry·(·A2·*mtx,·int·irow,·int·jcol,\xd94 ··············13.·void·A2_pointerToComplexEntry·(·A2·*mtx,·int·irow,·int·jcol,\xd
95 ···············································double·**ppReal,·double·**ppImag·)·;\xd95 ···············································double·**ppReal,·double·**ppImag·)·;\xd
96 ··················This·method·sets·*ppReal·to·the·pointer·to·the·real·part·of·the·(irow,jcol)·entry,·and·sets·*ppImag\xd96 ··················This·method·sets·*ppReal·to·the·pointer·to·the·real·part·of·the·(irow,jcol)·entry,·and·sets·*ppImag\xd
97 ··················to·the·pointer·to·the·imaginary·part·of·the·(irow,jcol)·entry.\xd97 ··················to·the·pointer·to·the·imaginary·part·of·the·(irow,jcol)·entry.\xd
98 ··················Error·checking:·If·mtx,·ppReal·or·ppImag·is·NULL,·or·if·the·matrix·is·not·complex,·or·if·irow·is·not·in\xd98 ··················Error·checking:·If·mtx,·ppReal·or·ppImag·is·NULL,·or·if·the·matrix·is·not·complex,·or·if·irow·is·not·in\xd
99 ··················[0,n1-1],·or·if·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed·and·the·program·exits.\xd99 ··················[0,n1-1],·or·if·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed·and·the·program·exits.\xd
100 ··············4·································A2·:·DRAFT·January·15,·2021\xd100 ··············4································A2·:·DRAFT·February·18,·2022\xd
101 ··············1.2.3···Initialize·methods\xd101 ··············1.2.3···Initialize·methods\xd
102 ·················1.·void·A2_init·(·A2·*mtx,·int·type,·int·n1,·int·n2,·int·inc1,·int·inc2,\xd102 ·················1.·void·A2_init·(·A2·*mtx,·int·type,·int·n1,·int·n2,·int·inc1,·int·inc2,\xd
103 ··································double·*entries·)·;\xd103 ··································double·*entries·)·;\xd
104 ···················This·is·the·basic·initializer·method.·We·require·that·mtx·not·be·NULL,·type·be·either·SPOOLES·REAL\xd104 ···················This·is·the·basic·initializer·method.·We·require·that·mtx·not·be·NULL,·type·be·either·SPOOLES·REAL\xd
105 ···················or·SPOOLES·COMPLEX,·n1·and·n2·both·be·positive,·and·both·inc1·and·inc2·both·be·positive·and·that\xd105 ···················or·SPOOLES·COMPLEX,·n1·and·n2·both·be·positive,·and·both·inc1·and·inc2·both·be·positive·and·that\xd
106 ···················one·of·them·be·equal·to·one.·Also,·we·only·initialize·a·full·matrix,·i.e.,·one·of·inc1·=·1·and·inc2·=\xd106 ···················one·of·them·be·equal·to·one.·Also,·we·only·initialize·a·full·matrix,·i.e.,·one·of·inc1·=·1·and·inc2·=\xd
107 ···················nrow·or·inc1·=·ncol·and·inc2·=·1·must·hold.\xd107 ···················nrow·or·inc1·=·ncol·and·inc2·=·1·must·hold.\xd
Offset 134, 15 lines modifiedOffset 134, 15 lines modified
134 ···················Error·checking:·If·A·or·workDV·is·NULL,·or·if·msglvl·>·0·and·msgFile·if·NULL,·an·error·message·is\xd134 ···················Error·checking:·If·A·or·workDV·is·NULL,·or·if·msglvl·>·0·and·msgFile·if·NULL,·an·error·message·is\xd
135 ···················printed·and·the·program·exits.\xd135 ···················printed·and·the·program·exits.\xd
136 ·················3.·void·A2_computeQ·(·A2·*Q,·A2·*A,·DV·*workDV,·int·msglvl,·FILE·*msgFile·)·;\xd136 ·················3.·void·A2_computeQ·(·A2·*Q,·A2·*A,·DV·*workDV,·int·msglvl,·FILE·*msgFile·)·;\xd
137 ···················This·method·computes·Q·from·the·A·=·QR·factorization·computed·in·A2·QRreduce().·Note:·A·and·Q\xd137 ···················This·method·computes·Q·from·the·A·=·QR·factorization·computed·in·A2·QRreduce().·Note:·A·and·Q\xd
138 ···················must·be·column·major.\xd138 ···················must·be·column·major.\xd
139 ···················Error·checking:·If·Q,·A·or·workDV·is·NULL,·or·if·msglvl·>·0·and·msgFile·if·NULL,·an·error·message·is\xd139 ···················Error·checking:·If·Q,·A·or·workDV·is·NULL,·or·if·msglvl·>·0·and·msgFile·if·NULL,·an·error·message·is\xd
140 ···················printed·and·the·program·exits.\xd140 ···················printed·and·the·program·exits.\xd
141 ···········································A2·:·DRAFT··January·15,·2021························5\xd141 ···········································A2·:·DRAFT··February·18,·2022·······················5\xd
142 ···············4.·void·A2_applyQT·(·A2·*Y,·A2·*A,·A2·*X,·DV·*workDV,·int·msglvl,·FILE·*msgFile·)·;\xd142 ···············4.·void·A2_applyQT·(·A2·*Y,·A2·*A,·A2·*X,·DV·*workDV,·int·msglvl,·FILE·*msgFile·)·;\xd
143 ·········································T···············H\xd143 ·········································T···············H\xd
144 ··················This·method·computes·Y·=·Q·X·(if·real)·or·Y·=·Q·X·(if·complex),·where·Q·is·stored·in·Householder\xd144 ··················This·method·computes·Y·=·Q·X·(if·real)·or·Y·=·Q·X·(if·complex),·where·Q·is·stored·in·Householder\xd
145 ··················vectors·inside·A.·We·assume·that·A2·reduce()·has·been·previously·called·with·A·as·an·argument.·Since\xd145 ··················vectors·inside·A.·We·assume·that·A2·reduce()·has·been·previously·called·with·A·as·an·argument.·Since\xd
146 ··················Y·is·computed·column-by-column,·X·and·Y·can·be·the·same·A2·object.·The·workDV·object·is·resized\xd146 ··················Y·is·computed·column-by-column,·X·and·Y·can·be·the·same·A2·object.·The·workDV·object·is·resized\xd
147 ··················as·necessary.·Note:·Y,·A·and·X·must·be·column·major.\xd147 ··················as·necessary.·Note:·Y,·A·and·X·must·be·column·major.\xd
148 ··················Error·checking:·If·Y,·A,·X·or·workDV·is·NULL,·or·if·msglvl·>·0·and·msgFile·if·NULL,·or·if·Y,·A·or·X·is\xd148 ··················Error·checking:·If·Y,·A,·X·or·workDV·is·NULL,·or·if·msglvl·>·0·and·msgFile·if·NULL,·or·if·Y,·A·or·X·is\xd
Offset 174, 15 lines modifiedOffset 174, 15 lines modified
174 ··················This·method·returns·the·infinity-norm·of·column·jcol·of·the·matrix.\xd174 ··················This·method·returns·the·infinity-norm·of·column·jcol·of·the·matrix.\xd
175 ··················Error·checking:·If·mtx·is·NULL,·or·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed·and·the·program\xd175 ··················Error·checking:·If·mtx·is·NULL,·or·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed·and·the·program\xd
176 ··················exits.\xd176 ··················exits.\xd
177 ···············8.·double·A2_oneNormOfRow·(·A2·*mtx,·int·irow·)·;\xd177 ···············8.·double·A2_oneNormOfRow·(·A2·*mtx,·int·irow·)·;\xd
178 ··················This·method·returns·the·one-norm·of·row·irow·of·the·matrix.\xd178 ··················This·method·returns·the·one-norm·of·row·irow·of·the·matrix.\xd
179 ··················Error·checking:·If·mtx·is·NULL,·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and·the·program\xd179 ··················Error·checking:·If·mtx·is·NULL,·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and·the·program\xd
180 ··················exits.\xd180 ··················exits.\xd
181 ··············6······························A2·:·DRAFT·January·15,·2021\xd181 ··············6······························A2·:·DRAFT·February·18,·2022\xd
182 ················9.·double·A2_twoNormOfRow·(·A2·*mtx,·int·irow·)·;\xd182 ················9.·double·A2_twoNormOfRow·(·A2·*mtx,·int·irow·)·;\xd
183 ··················This·method·returns·the·two-norm·of·row·irow·of·the·matrix.\xd183 ··················This·method·returns·the·two-norm·of·row·irow·of·the·matrix.\xd
184 ··················Error·checking:·If·mtx·is·NULL,·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and·the·program\xd184 ··················Error·checking:·If·mtx·is·NULL,·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and·the·program\xd
185 ··················exits.\xd185 ··················exits.\xd
186 ···············10.·double·A2_infinityNormOfRow·(·A2·*mtx,·int·irow·)·;\xd186 ···············10.·double·A2_infinityNormOfRow·(·A2·*mtx,·int·irow·)·;\xd
187 ··················This·method·returns·the·infinity-norm·of·row·irow·of·the·matrix.\xd187 ··················This·method·returns·the·infinity-norm·of·row·irow·of·the·matrix.\xd
188 ··················Error·checking:·If·mtx·is·NULL,·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and·the·program\xd188 ··················Error·checking:·If·mtx·is·NULL,·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and·the·program\xd
Offset 213, 15 lines modifiedOffset 213, 15 lines modified
213 ··············1.2.7··Utility·methods\xd213 ··············1.2.7··Utility·methods\xd
214 ················1.·int·A2_sizeOf·(·A2·*mtx·)·;\xd214 ················1.·int·A2_sizeOf·(·A2·*mtx·)·;\xd
215 ··················This·method·returns·the·number·of·bytes·owned·by·this·object.\xd215 ··················This·method·returns·the·number·of·bytes·owned·by·this·object.\xd
216 ··················Error·checking:·If·mtx·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd216 ··················Error·checking:·If·mtx·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
217 ················2.·void·A2_shiftBase·(·A2·*mtx,·int·rowoff,·int·coloff·)·;\xd217 ················2.·void·A2_shiftBase·(·A2·*mtx,·int·rowoff,·int·coloff·)·;\xd
218 ··················This·method·is·used·to·shift·the·base·of·the·entries·and·adjust·dimensions·of·the·A2·object.\xd218 ··················This·method·is·used·to·shift·the·base·of·the·entries·and·adjust·dimensions·of·the·A2·object.\xd
219 ··················mtx(0:n1-rowoff-1,0:n2-coloff-1)·:=·mtx(rowoff:n1-1,coloff:n2-1)\xd219 ··················mtx(0:n1-rowoff-1,0:n2-coloff-1)·:=·mtx(rowoff:n1-1,coloff:n2-1)\xd
220 ···········································A2·:·DRAFT··January·15,·2021························7\xd220 ···········································A2·:·DRAFT··February·18,·2022·······················7\xd
221 ··················Error·checking:·If·mtx·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd221 ··················Error·checking:·If·mtx·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
222 ···············3.·int·A2_rowMajor·(·A2·*mtx·)·;\xd222 ···············3.·int·A2_rowMajor·(·A2·*mtx·)·;\xd
223 ··················This·method·returns·1·if·the·storage·is·row·major,·otherwise·it·returns·zero.\xd223 ··················This·method·returns·1·if·the·storage·is·row·major,·otherwise·it·returns·zero.\xd
224 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd224 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
225 ···············4.·int·A2_columnMajor·(·A2·*mtx·)·;\xd225 ···············4.·int·A2_columnMajor·(·A2·*mtx·)·;\xd
226 ··················This·method·returns·1·if·the·storage·is·column·major,·otherwise·it·returns·zero.\xd226 ··················This·method·returns·1·if·the·storage·is·column·major,·otherwise·it·returns·zero.\xd
227 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd227 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ··················This·method·fills·the·colZV·object·with·column·jcol·of·the·matrix.\xd253 ··················This·method·fills·the·colZV·object·with·column·jcol·of·the·matrix.\xd
254 ··················Error·checking:·If·mtx·or·colZV·are·NULL,·or·if·the·matrix·is·not·complex,·or·if·jcol·is·not·in·[0,n2-1],\xd254 ··················Error·checking:·If·mtx·or·colZV·are·NULL,·or·if·the·matrix·is·not·complex,·or·if·jcol·is·not·in·[0,n2-1],\xd
255 ··················an·error·message·is·printed·and·the·program·exits.\xd255 ··················an·error·message·is·printed·and·the·program·exits.\xd
256 ··············12.·void·A2_setRow·(·A2·*mtx,·double·row[],·int·irow·)·;\xd256 ··············12.·void·A2_setRow·(·A2·*mtx,·double·row[],·int·irow·)·;\xd
257 ··················This·method·fills·row·irow·of·the·matrix·with·the·entries·in·the·row[]·vector.\xd257 ··················This·method·fills·row·irow·of·the·matrix·with·the·entries·in·the·row[]·vector.\xd
258 ··················Error·checking:·If·mtx,·entries·or·row[]·are·NULL,·or·if·irow·is·not·in·[0,n1-1],·an·error·message·is\xd258 ··················Error·checking:·If·mtx,·entries·or·row[]·are·NULL,·or·if·irow·is·not·in·[0,n1-1],·an·error·message·is\xd
259 ··················printed·and·the·program·exits.\xd259 ··················printed·and·the·program·exits.\xd
260 ········8················A2·:·DRAFT·January·15,·2021\xd260 ········8················A2·:·DRAFT·February·18,·2022\xd
261 ········13.·void·A2_setRowDV·(·A2·*mtx,·DV·rowDV,·int·irow·)·;\xd261 ········13.·void·A2_setRowDV·(·A2·*mtx,·DV·rowDV,·int·irow·)·;\xd
262 ··········This·method·fills·row·irow·of·the·matrix·with·the·entries·in·the·rowDV·object.\xd262 ··········This·method·fills·row·irow·of·the·matrix·with·the·entries·in·the·rowDV·object.\xd
263 ··········Error·checking:·If·mtx·or·rowDV·are·NULL,·or·if·the·matrix·is·not·real,·or·if·irow·is·not·in·[0,n1-1],\xd263 ··········Error·checking:·If·mtx·or·rowDV·are·NULL,·or·if·the·matrix·is·not·real,·or·if·irow·is·not·in·[0,n1-1],\xd
264 ··········an·error·message·is·printed·and·the·program·exits.\xd264 ··········an·error·message·is·printed·and·the·program·exits.\xd
265 ········14.·void·A2_setRowZV·(·A2·*mtx,·ZV·rowZV,·int·irow·)·;\xd265 ········14.·void·A2_setRowZV·(·A2·*mtx,·ZV·rowZV,·int·irow·)·;\xd
266 ··········This·method·fills·row·irow·of·the·matrix·with·the·entries·in·the·rowZV·object.\xd266 ··········This·method·fills·row·irow·of·the·matrix·with·the·entries·in·the·rowZV·object.\xd
267 ··········Error·checking:·If·mtx·or·rowZV·are·NULL,·or·if·the·matrix·is·not·complex,·or·if·irow·is·not·in·[0,n1-1],\xd267 ··········Error·checking:·If·mtx·or·rowZV·are·NULL,·or·if·the·matrix·is·not·complex,·or·if·irow·is·not·in·[0,n1-1],\xd
Offset 294, 15 lines modifiedOffset 294, 15 lines modified
294 ··········Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd294 ··········Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
295 ········22.·void·A2_copy·(·A2·*mtxA,·A2·*mtxB·)·;\xd295 ········22.·void·A2_copy·(·A2·*mtxA,·A2·*mtxB·)·;\xd
296 ··········This·method·copies·entries·from·matrix·mtxB·into·matrix·mtxA.·Note,·mtxA·and·mtxB·need·not·be·of\xd296 ··········This·method·copies·entries·from·matrix·mtxB·into·matrix·mtxA.·Note,·mtxA·and·mtxB·need·not·be·of\xd
297 ··········the·same·size,·the·leading·min(mtxA->n1,mtxB->n1)rows·and·min(mtxA->n2,mtxB->n2)columns·are\xd297 ··········the·same·size,·the·leading·min(mtxA->n1,mtxB->n1)rows·and·min(mtxA->n2,mtxB->n2)columns·are\xd
298 ··········copied.\xd298 ··········copied.\xd
299 ··········Error·checking:·If·mtxA·or·mtxB·is·NULL,·or·if·the·matrices·are·not·of·the·same·type,·an·error·message\xd299 ··········Error·checking:·If·mtxA·or·mtxB·is·NULL,·or·if·the·matrices·are·not·of·the·same·type,·an·error·message\xd
300 ··········is·printed·and·the·program·exits.\xd300 ··········is·printed·and·the·program·exits.\xd
301 ···········································A2·:·DRAFT··January·15,·2021························9\xd301 ···········································A2·:·DRAFT··February·18,·2022·······················9\xd
302 ··············23.·void·A2_sub·(·A2·*mtxA,·A2·*mtxB·)·;\xd302 ··············23.·void·A2_sub·(·A2·*mtxA,·A2·*mtxB·)·;\xd
303 ··················This·method·subtracts·entries·in·matrix·mtxB·from·entries·in·matrix·mtxA.·Note,·mtxA·and·mtxB·need\xd303 ··················This·method·subtracts·entries·in·matrix·mtxB·from·entries·in·matrix·mtxA.·Note,·mtxA·and·mtxB·need\xd
304 ··················not·be·of·the·same·size,·the·leading·min(mtxA->n1,mtxB->n1)·rows·and·min(mtxA->n2,mtxB->n2)\xd304 ··················not·be·of·the·same·size,·the·leading·min(mtxA->n1,mtxB->n1)·rows·and·min(mtxA->n2,mtxB->n2)\xd
305 ··················columns·are·subtracted.\xd305 ··················columns·are·subtracted.\xd
306 ··················Error·checking:·If·mtxA·or·mtxB·is·NULL,·or·if·the·matrices·are·not·of·the·same·type,·an·error·message\xd306 ··················Error·checking:·If·mtxA·or·mtxB·is·NULL,·or·if·the·matrices·are·not·of·the·same·type,·an·error·message\xd
307 ··················is·printed·and·the·program·exits.\xd307 ··················is·printed·and·the·program·exits.\xd
308 ··············24.·void·A2_swapRows·(·A2·*mtx,·int·irow1,·int·irow2·)·;\xd308 ··············24.·void·A2_swapRows·(·A2·*mtx,·int·irow1,·int·irow2·)·;\xd
Max diff block lines reached; 3018/14078 bytes (21.44%) of diff not shown.
253 KB
./usr/share/doc/spooles-doc/AllInOne.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·7069361 gzip·compressed·data,·max·compression,·from·Unix,·original·size·708178
253 KB
AllInOne.ps
    
Offset 9, 15 lines modifiedOffset 9, 15 lines modified
9 %%+·CMMI10·CMTT10·CMSY10·CMEX10·CMR7·CMMI7·CMTI10·CMMI12·CMR6·CMTT89 %%+·CMMI10·CMTT10·CMSY10·CMEX10·CMR7·CMMI7·CMTI10·CMMI12·CMR6·CMTT8
10 %%+·CMBX8·CMMI8·CMMI6·CMTT1210 %%+·CMBX8·CMMI8·CMMI6·CMTT12
11 %%DocumentPaperSizes:·Letter11 %%DocumentPaperSizes:·Letter
12 %%EndComments12 %%EndComments
13 %DVIPSWebPage:·(www.radicaleye.com)13 %DVIPSWebPage:·(www.radicaleye.com)
14 %DVIPSCommandLine:·dvips·main·-o·AllInOne.ps14 %DVIPSCommandLine:·dvips·main·-o·AllInOne.ps
15 %DVIPSParameters:·dpi=60015 %DVIPSParameters:·dpi=600
16 %DVIPSSource:··TeX·output·2021.01.15:061416 %DVIPSSource:··TeX·output·2022.02.18:1444
17 %%BeginProcSet:·tex.pro·0·017 %%BeginProcSet:·tex.pro·0·0
18 %!18 %!
19 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S19 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
20 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7220 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
21 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·021 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
22 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{22 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
23 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize23 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 2008, 27 lines modifiedOffset 2008, 29 lines modified
2008 /Encoding·256·array2008 /Encoding·256·array
2009 0·1·255·{1·index·exch·/.notdef·put}·for2009 0·1·255·{1·index·exch·/.notdef·put}·for
2010 dup·44·/comma·put2010 dup·44·/comma·put
2011 dup·46·/period·put2011 dup·46·/period·put
2012 dup·48·/zero·put2012 dup·48·/zero·put
2013 dup·49·/one·put2013 dup·49·/one·put
2014 dup·50·/two·put2014 dup·50·/two·put
2015 dup·53·/five·put2015 dup·56·/eight·put
2016 dup·61·/equal·put2016 dup·61·/equal·put
2017 dup·65·/A·put2017 dup·65·/A·put
2018 dup·66·/B·put2018 dup·66·/B·put
2019 dup·67·/C·put2019 dup·67·/C·put
2020 dup·68·/D·put2020 dup·68·/D·put
 2021 dup·70·/F·put
2021 dup·71·/G·put2022 dup·71·/G·put
2022 dup·74·/J·put2023 dup·74·/J·put
2023 dup·75·/K·put2024 dup·75·/K·put
2024 dup·80·/P·put2025 dup·80·/P·put
2025 dup·82·/R·put2026 dup·82·/R·put
2026 dup·87·/W·put2027 dup·87·/W·put
2027 dup·97·/a·put2028 dup·97·/a·put
 2029 dup·98·/b·put
2028 dup·99·/c·put2030 dup·99·/c·put
2029 dup·101·/e·put2031 dup·101·/e·put
2030 dup·102·/f·put2032 dup·102·/f·put
2031 dup·103·/g·put2033 dup·103·/g·put
2032 dup·104·/h·put2034 dup·104·/h·put
2033 dup·105·/i·put2035 dup·105·/i·put
2034 dup·107·/k·put2036 dup·107·/k·put
Offset 2224, 205 lines modifiedOffset 2226, 213 lines modified
2224 66D4EBC86C0DF27B789D5597FE88BCDAD2925CFF60F5A8EA618FE867857D585A2226 66D4EBC86C0DF27B789D5597FE88BCDAD2925CFF60F5A8EA618FE867857D585A
2225 CE25A158AED63B8FE391030C518693AEC75AC0AADD0C11B0065E2ABCF51132F32227 CE25A158AED63B8FE391030C518693AEC75AC0AADD0C11B0065E2ABCF51132F3
2226 82E3718B9A9FAAF727F2D8286177EE27BAD040C66D0D2D7C092B45D9330265B52228 82E3718B9A9FAAF727F2D8286177EE27BAD040C66D0D2D7C092B45D9330265B5
2227 6B5C8E29F71C9EF548BFA4BAFAB242B26455E4B7FC1882D68E408D25E6F58EC32229 6B5C8E29F71C9EF548BFA4BAFAB242B26455E4B7FC1882D68E408D25E6F58EC3
2228 046AAFC52C182BDCD36034FD58E8B379C9F2BD16FA6FBB8C455E36A1BEA8F8032230 046AAFC52C182BDCD36034FD58E8B379C9F2BD16FA6FBB8C455E36A1BEA8F803
2229 2AC069379392D74A6E8DD64AAC6FB5E7EE151EE99AF33B1D9E55C5C8D601EEB72231 2AC069379392D74A6E8DD64AAC6FB5E7EE151EE99AF33B1D9E55C5C8D601EEB7
2230 2C194E090D261E86199D6576EC00044C87B3E79C39B4CBCBF391B78C1E9D17AE2232 2C194E090D261E86199D6576EC00044C87B3E79C39B4CBCBF391B78C1E9D17AE
2231 FC99092341499E3160303A869929280E672C29204632974124DE524092221775 
2232 1ECA4A30DF02B58740DCC4BA984CB0AF7F0ED7642F310CA9C8DE9DD1ABA550D5 
2233 0CB05C0AAC0D6FD8A162B1819417381F9FE61C6C969A9F1B90540850B1987ACB 
2234 78AFA3A7CB4777BE09789E016B56B6703DA49888701BB3E62C71C23BC4836E53 
2235 36B08C6D7989C5CC88FBAF42D988B7C84C0BFBD1515B88EA7EDCDA0F7A90A3EF 
2236 3399B19919992B3061D71E2CA9D5EB3DAD40B23A8F46B22D97DCFB1F59C6191E 
2237 1F10115669CD6CC05A4BE4F7AC5252F4EF69041831C805F18C467E3897BD934E 
2238 535073A5F07092528A564245005C2D3DE8FB7C0766724A17C870AA8BA5D92B60 
2239 B0405DFD157AC0E2EAC29B4C646EF47AC3073866DBAF844C997648F5F8BB467A 
2240 D743E84DC558A7EA03F24E67261C753FABE4EE9F7BF298980F3DCDB668261517 
2241 137A75D73525BDA305A66D6BF225C9B4D364CBBBA5632674384228DE6841A1FB 
2242 48EE0B15B9A6B45EEE062A92E75FE251C3264464FCB8816800C17A05DB8551A8 
2243 DB9364CB0B4AB7BB3318F4D15FFEB6DE1F46442861C50C30949CB7F2166385AD 
2244 46632ED0AAA2FB3434D6A0D964E28CB20EAEC9E247CE185B2D44ED0A293BC092 
2245 82F4C469C80917C66BE00DA188E07436627F58C4E397AF82ECBE69F55594ECB9 
2246 CC5BD92164913FD02D98C4499D772355DA6C3A4975722C9F37E4C9B457CBC7C6 
2247 8A34D50B9578E6903B81A1EBBF5B958F1B808DCC6C1932ED0205232EAFE4A534 
2248 7F9357AC44FB46AC86498BB3232F7E3778ABA8D251CA4E1BDFD9283F61E64E96 
2249 BBC373DCC8789452063B4426AB14A3D4F39F53FCA9E2E60E057059A04EFB7EB7 
2250 E6A4C0DBB5A974E6123865778F68229ED529309E3E83859F5FE137361BB04538 
2251 E2EBB21AC4A4D8BD4F4DBEFD7F9A354A8C82B5B1AC8B0E627689536310A32441 
2252 4317C223DEF1BC3A60490B2743250F5375FD416E0F9D14C3828124A8913408F7 
2253 20436E2A13285022AB0D80091E68CFCA2E95876AE2BBDB0BFED1AC79EFFB423A 
2254 4588BDE591C08736F2391EC6424A12EAB20CD9CEDF0F239B41345789F30847A6 
2255 A9BB3E7C02961ADC5D101E83049037416334202229793E94898D6B2E0304D98C 
2256 530E609644AC3F21C6F3AC220A64AE11A563E9D0237A3618626C019327F17C7A 
2257 5AADFC0C2EFABB18873E52B0A12D5D4778AE354EE4F96570AB4A8AD6EE0DF79B 
2258 13EB5D68B45B1536F98E7E300D2F4DDD7739DC83B5DA3C15CB0F20913DD8B8CD 
2259 A09C3A02832883079B79BFF3624484BFACDF4042ADED532AD28B966016CE7184 
2260 660E379DC893C32EC133140FD3E0C51A32577529C867B088E6DD86AE8CA0BBB1 
2261 8E89075C833F67C1C91F32DB215D24224F4EAD63891463C19E99008C3E4E049B 
2262 76D0245E82544A158CE8A6EAD33916B000FD1C405E7D8A078AC7BCB9B81717C6 
2263 C8699F0F98966A66A8F8F771EB452599B2D625428726838C854340BD880AF559 
2264 014819098153229AA860C4A4E70E8258169D5C8FB4604D6029B73ECB2C687860 
2265 57FA4DAADDA973BD17A1C5D61D756793FB057C4D6242904F8376B24A54748A38 
2266 96DCCD66F9997EE7C83110F3BF96D6BF08F33B3DDE2C317BBC3B483A0BE3DE6F 
2267 4FDA3C5D46E64CD3441E3391B3B092387A2062A80ADF32C48ACACEA7C28AF340 
2268 CD8A4562703AF76CA8E3AA0551852B84811F61CC56958E8BF302C7DFCE4B9E3D 
2269 6BD75B163AFD28AD41FD39D2B2825F476183135C3CE30FEE9BD1F6246B22E32C 
2270 266C7458DD4C4DBCDB586E0CE01DE48F3D515A12D350D5339D3139887A3D2EA2 
2271 B6E605242727E8CC8B536F1F2CD7D54F44D595F0E15C0664404B627C4E2857AA 
2272 F511514162462A5421864448D60B5C2174217E5A09856A60A633278D08351B95 
2273 DE82C849E7266B554FC2EE3943309A956AF4698A9B87C9BABC8330431EDE9DFD 
2274 8FE31340EC5AA70F47422DC60EFD58597F219D04DF1F8BE9F732C4401EFB180D 
2275 60D5D47D3334166D9A21F9F8A25A1C027BF552E25EFA72742D4950BF5F5BD724 
2276 6F55701B403342132F8CC0817D5E5A0F918DF4144C56E83A09DB0712EF701084 
2277 75EA0EB5E2AABFA2166EE045DC5CAB1DB1966D77C2D2850A13668F44327AA6E4 
2278 59B16285F272090CFE17ED730DDD02885C7941C34CA6B7532071256E92B61DD2 
2279 11CE749BD186EB21BC42860ED8CB652E2CF4623A416DC50F7333505B4101D303 
2280 21F4AFD22B5AA98BCDC37FBDF5A611CD56FD389B41D5A4FBE5931091B00445E4 
2281 7B0F26C21E4C8451CED8832BD8D2A859BF358DF2FDBAA8D3A46BF220274DDB7E 
2282 92FCDBF5117FDF755183A5D5F7A12475AA1150F0D598682C81EBAA1A3C21E78E 
2283 62B98EED7948C8C0AB9C14DC1AD70C919F306E194AD422B0CCCC4FFAAA85156D 
2284 C9B7D7E92A195E9807E0E1C9B0075F1A8E2A902710FED0C7B42719EC3C8F2E60 
2285 8F18D6EA89DDD09E45E307AA1D4EFFADCA8FFA7A1436126FC860B9375DC54594 
2286 6CD9D24E12595B329909821BD121F361A00E86DA46B9ED2D6429C703C250CF28 
2287 F63E85C336EBB7CB03E0970F4AEEAE73E18217B59D6B951335C91E4937691799 
2288 0E34D3F9EFA1D62924DFB982C30F5026DAF3BF51771189C718D9C9E60FBFDA74 
2289 FF042F39F1F947DC5F1F63DAB17D306938368CCB2A333C55C6830758BE013E40 
2290 AE17B5E0B416AB2481885CFB1B917074F1792C0061DAC8089F906A7E0C7AF439 
2291 6177D83B6AE247E434C8B06105240740D40388BF136A34F478DCF554583D6935 
2292 9F1640420E5ADBC4A3E1D1847BBF21E5D0EC389A349CED73FBD2809D3363884B 
2293 0FDD2BF6E2F24C43A9F25CCA647C98F9FFF1298DE1835FF37C02DA51A842D7CC 
2294 E4D233689C9A8F6983CC8538C1ABBA120B180F65C942B8B519181DBD0CE3ADE4 
2295 85F42218D0115C59C7A6AB7BC009CBFDC142CEFEB73B078132183468AE8D3DC9 
2296 1DEF32EDE5FAC324DE0CD836E5E7F3A7D1071A72BBB22E35708CC385EDF42482 
2297 A1CD1EF3C50D81910FC4972225BDC3EBE733A1D8B64569C66DACC965E379E013 
2298 8CD2BB1632B1BF7490B4A67EA8D7BE8CB7BE4938B5C40E51B3AD47AEAC95A9B5 
2299 E55FC64A2D175CFDA8AB6EC379B6F7B3039C578C2F18D31C2F5E019ABDFCB9B7 
2300 140587C52F80E2421A1FAC43C4E0D49571D35CBC7DABA76543BBADE57A91CE29 
2301 A5766F91DC03F047CFEE4783CE013C9E099C3AD5DE13FF191F7C5435EAB030A0 
2302 6477BC36AD72007DE11C068D015DA412BEADF37481BA6ABBB84DEDBBA3ADD427 
2303 9A307C7B333CA5520D620338E2E6BD245C89A9B3D17CF1D42CA31A71D053D839 
2304 4B4257BCAECDD9F36BAB5E141FC0EEB6E58EDA8EA23C45C61CB9CD9BAD13EB58 
Max diff block lines reached; 170827/198352 bytes (86.12%) of diff not shown.
59.4 KB
ps2ascii {}
    
Offset 1, 16 lines modifiedOffset 1, 16 lines modified
1 ·····························Solving·Linear·Systems·using·SPOOLES·2.2\xd1 ·····························Solving·Linear·Systems·using·SPOOLES·2.2\xd
2 ·································C.·C.·Ashcraft,·R.·G.·Grimes,·D.·J.·Pierce,·D.·K.·Wah\xd2 ·································C.·C.·Ashcraft,·R.·G.·Grimes,·D.·J.·Pierce,·D.·K.·Wah\xd
3 ·················································Boeing·Phantom·Works∗\xd3 ·················································Boeing·Phantom·Works∗\xd
4 ·····················································January·15,·2021\xd4 ····················································February·18,·2022\xd
5 ·················∗P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124.·This·research·was·supported·in·part·by·the·DARPA\xd5 ·················∗P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124.·This·research·was·supported·in·part·by·the·DARPA\xd
6 ···············Contract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd6 ···············Contract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd
7 ···············Support·Initiative.\xd7 ···············Support·Initiative.\xd
8 ·····························································1\xd8 ·····························································1\xd
9 ···················2···········SPOOLES·2.2··Solving·Linear·Systems······················································January·15,·2021\xd9 ···················2···········SPOOLES·2.2··Solving·Linear·Systems·····················································February·18,·2022\xd
10 ···················Contents\xd10 ···················Contents\xd
11 ···················1·Overview··············································································································4\xd11 ···················1·Overview··············································································································4\xd
12 ···················2·Serial·Solution·of·AX·=·Y·using·an·LU·factorization···································································6\xd12 ···················2·Serial·Solution·of·AX·=·Y·using·an·LU·factorization···································································6\xd
13 ·······················2.1···Reading·the·input·parameters·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········6\xd13 ·······················2.1···Reading·the·input·parameters·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········6\xd
14 ·······················2.2···Communicating·the·data·for·the·problem·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············6\xd14 ·······················2.2···Communicating·the·data·for·the·problem·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············6\xd
15 ·······················2.3···Reordering·the·linear·system·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.····9\xd15 ·······················2.3···Reordering·the·linear·system·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.····9\xd
16 ·······················2.4···Non-numeric·work·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········9\xd16 ·······················2.4···Non-numeric·work·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········9\xd
Offset 39, 18 lines modifiedOffset 39, 18 lines modified
39 ·······················5.3···Reordering·the·linear·system·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···21\xd39 ·······················5.3···Reordering·the·linear·system·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···21\xd
40 ·······················5.4···Non-numeric·work·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········21\xd40 ·······················5.4···Non-numeric·work·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········21\xd
41 ·······················5.5···The·Matrix·Factorization·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········22\xd41 ·······················5.5···The·Matrix·Factorization·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········22\xd
42 ·······················5.6···Solving·the·linear·system······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···23\xd42 ·······················5.6···Solving·the·linear·system······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···23\xd
43 ·······················5.7···Sample·Matrix·and·Right·Hand·Side·Files·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············23\xd43 ·······················5.7···Sample·Matrix·and·Right·Hand·Side·Files·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············23\xd
44 ···················A·allInOne.c··A·Serial·LU·Driver·Program··············································································24\xd44 ···················A·allInOne.c··A·Serial·LU·Driver·Program··············································································24\xd
45 ···················B·allInOne.c··A·Serial·LU·Driver·Program··············································································31\xd45 ···················B·allInOne.c··A·Serial·LU·Driver·Program··············································································31\xd
46 ··············January·15,·2021·····························SPOOLES·2.2··Solving·Linear·Systems········3\xd46 ··············February·18,·2022····························SPOOLES·2.2··Solving·Linear·Systems········3\xd
47 ··············C·allInOne.c··A·Serial·LU·Driver·Program···············································39\xd47 ··············C·allInOne.c··A·Serial·LU·Driver·Program···············································39\xd
48 ··············D·allInOne.c··A·Serial·QR·Driver·Program···············································49\xd48 ··············D·allInOne.c··A·Serial·QR·Driver·Program···············································49\xd
49 ··············4········SPOOLES·2.2··Solving·Linear·Systems·······························January·15,·2021\xd49 ··············4········SPOOLES·2.2··Solving·Linear·Systems······························February·18,·2022\xd
50 ··············1····Overview\xd50 ··············1····Overview\xd
51 ··············The·SPOOLES·software·library·is·designed·to·solve·sparse·systems·of·linear·equations·AX·=·Y·for·X,\xd51 ··············The·SPOOLES·software·library·is·designed·to·solve·sparse·systems·of·linear·equations·AX·=·Y·for·X,\xd
52 ··············whereAisfullrankandX·andY·aredensematrices.·ThematrixAcanbeeitherrealorcomplex,symmetric,\xd52 ··············whereAisfullrankandX·andY·aredensematrices.·ThematrixAcanbeeitherrealorcomplex,symmetric,\xd
53 ··············Hermitian,·square·nonsymmetric,·or·overdetermined.·When·A·is·square,·there·are·four·steps·in·the·process\xd53 ··············Hermitian,·square·nonsymmetric,·or·overdetermined.·When·A·is·square,·there·are·four·steps·in·the·process\xd
54 ··············of·solving·AX·=·Y.\xd54 ··············of·solving·AX·=·Y.\xd
55 ··················communicate·the·data·for·the·problem·as·A,·X·and·Y.\xd55 ··················communicate·the·data·for·the·problem·as·A,·X·and·Y.\xd
56 ·····························ee····e·······e········T··e···········e\xd56 ·····························ee····e·······e········T··e···········e\xd
Offset 94, 26 lines modifiedOffset 94, 26 lines modified
94 ·················The·SPOOLES·library·is·based·on·an·object·oriented·design·philosophy.·There·are·several·data·struc-\xd94 ·················The·SPOOLES·library·is·based·on·an·object·oriented·design·philosophy.·There·are·several·data·struc-\xd
95 ··············tures·or·objects·that·the·user·must·interact·with.·These·interactions·are·performed·with·a·set·of·methods\xd95 ··············tures·or·objects·that·the·user·must·interact·with.·These·interactions·are·performed·with·a·set·of·methods\xd
96 ··············for·each·object.·Every·object·has·some·standard·methods,·such·as·initializing·the·object,·placing·data·into\xd96 ··············for·each·object.·Every·object·has·some·standard·methods,·such·as·initializing·the·object,·placing·data·into\xd
97 ··············the·object,·extracting·data·out·of·the·object,·writing·and·reading·the·object·to·a·input/output·file,·printing\xd97 ··············the·object,·extracting·data·out·of·the·object,·writing·and·reading·the·object·to·a·input/output·file,·printing\xd
98 ··············the·contents·of·the·object·to·a·specified·file,·and·freeing·the·object.\xd98 ··············the·contents·of·the·object·to·a·specified·file,·and·freeing·the·object.\xd
99 ·················For·example,·consider·the·DenseMtx·object·that·models·a·dense·matrix.·The·DenseMtx/DenseMtx.h\xd99 ·················For·example,·consider·the·DenseMtx·object·that·models·a·dense·matrix.·The·DenseMtx/DenseMtx.h\xd
100 ··············header·file·defines·the·object’s·C·struct·and·has·prototypes·(with·extensive·comments)·of·the·object’s\xd100 ··············header·file·defines·the·object’s·C·struct·and·has·prototypes·(with·extensive·comments)·of·the·object’s\xd
101 ··············January·15,·2021·····························SPOOLES·2.2··Solving·Linear·Systems········5\xd101 ··············February·18,·2022····························SPOOLES·2.2··Solving·Linear·Systems········5\xd
102 ···········································································A\xd102 ···········································································A\xd
103 ··············methods.·Thesourcefiles·arefound·in·the·DenseMtx/srcdirectory.·The·LT·X·documentation·files·are·found\xd103 ··············methods.·Thesourcefiles·arefound·in·the·DenseMtx/srcdirectory.·The·LT·X·documentation·files·are·found\xd
104 ············································································E\xd104 ············································································E\xd
105 ··············in·the·DenseMtx/docdirectory.·The·files·can·be·used·to·create·the·DenseMtxobject’s·chapter·in·the·Reference\xd105 ··············in·the·DenseMtx/docdirectory.·The·files·can·be·used·to·create·the·DenseMtxobject’s·chapter·in·the·Reference\xd
106 ··············Manual,orinastandalonemannertogeneratetheobject’sdocumentation.·TheDenseMtx/driversdirectory\xd106 ··············Manual,orinastandalonemannertogeneratetheobject’sdocumentation.·TheDenseMtx/driversdirectory\xd
107 ··············contains·driver·programs·that·exercise·and·validate·the·object’s·functionality.\xd107 ··············contains·driver·programs·that·exercise·and·validate·the·object’s·functionality.\xd
108 ·················Almost·all·the·methods·in·the·library·are·associated·with·a·particular·object.·There·are·some·exceptions,\xd108 ·················Almost·all·the·methods·in·the·library·are·associated·with·a·particular·object.·There·are·some·exceptions,\xd
109 ··············mostly·found·in·the·misc/src·directory.·The·misc/drivers·directory·contains·the·serial·LU·and·QR·driver\xd109 ··············mostly·found·in·the·misc/src·directory.·The·misc/drivers·directory·contains·the·serial·LU·and·QR·driver\xd
110 ··············programs.·The·MT/drivers·and·MPI/drivers·directories·contain·the·multithreaded·and·MPI·LU·driver\xd110 ··············programs.·The·MT/drivers·and·MPI/drivers·directories·contain·the·multithreaded·and·MPI·LU·driver\xd
111 ··············programs.\xd111 ··············programs.\xd
112 ················6·········SPOOLES·2.2··Solving·Linear·Systems··········································January·15,·2021\xd112 ················6·········SPOOLES·2.2··Solving·Linear·Systems·········································February·18,·2022\xd
113 ················2·····Serial·Solution·of·AX·=·Y·using·an·LU·factorization\xd113 ················2·····Serial·Solution·of·AX·=·Y·using·an·LU·factorization\xd
114 ················The·user·has·some·representation·of·the·data·which·represents·the·linear·system,·AX·=·Y·.·The·user·wants\xd114 ················The·user·has·some·representation·of·the·data·which·represents·the·linear·system,·AX·=·Y·.·The·user·wants\xd
115 ················the·solution·X.·The·SPOOLES·library·will·use·A·and·Y·and·provide·X·back·to·the·user.\xd115 ················the·solution·X.·The·SPOOLES·library·will·use·A·and·Y·and·provide·X·back·to·the·user.\xd
116 ····················The·SPOOLESlibrary·is·based·on·an·object·oriented·design·philosophy.·The·first·object·that·the·user\xd116 ····················The·SPOOLESlibrary·is·based·on·an·object·oriented·design·philosophy.·The·first·object·that·the·user\xd
117 ················mustinteract·with·is·InpMtx1.·The·InpMtx·object·is·where·the·SPOOLES·representation·of·A·is·assembled.\xd117 ················mustinteract·with·is·InpMtx1.·The·InpMtx·object·is·where·the·SPOOLES·representation·of·A·is·assembled.\xd
118 ················The·user·can·input·the·representation·of·A·into·the·InpMtx·object·with·methods·for·single·matrix·entry\xd118 ················The·user·can·input·the·representation·of·A·into·the·InpMtx·object·with·methods·for·single·matrix·entry\xd
119 ················(consisting·of·the·row·index,·the·column·index,·and·the·value),·for·an·array·of·entries,·for·a·set·of·entries·in\xd119 ················(consisting·of·the·row·index,·the·column·index,·and·the·value),·for·an·array·of·entries,·for·a·set·of·entries·in\xd
Offset 145, 15 lines modifiedOffset 145, 15 lines modified
145 ······················nrhs·floating·point·numbers·if·the·system·is·real,·or·2*nrhs·numbers·if·the·system·is·complex.\xd145 ······················nrhs·floating·point·numbers·if·the·system·is·real,·or·2*nrhs·numbers·if·the·system·is·complex.\xd
146 ·····················The·seed·parameter·is·a·random·number·seed·used·in·the·ordering·process.\xd146 ·····················The·seed·parameter·is·a·random·number·seed·used·in·the·ordering·process.\xd
147 ················2.2····Communicating·the·data·for·the·problem\xd147 ················2.2····Communicating·the·data·for·the·problem\xd
148 ················The·following·code·segment·from·the·full·sample·program·opens·the·file·matrixFileName,·reads·the·first\xd148 ················The·following·code·segment·from·the·full·sample·program·opens·the·file·matrixFileName,·reads·the·first\xd
149 ················line·of·the·file,·and·then·initializes·the·InpMtx·object.·The·program·continues·by·reading·each·line·of·the\xd149 ················line·of·the·file,·and·then·initializes·the·InpMtx·object.·The·program·continues·by·reading·each·line·of·the\xd
150 ················input·matrix·data·and·uses·either·the·method·InpMtx·inputRealEntry()or·InpMtx·inputComplexEntry()\xd150 ················input·matrix·data·and·uses·either·the·method·InpMtx·inputRealEntry()or·InpMtx·inputComplexEntry()\xd
151 ···················1InpMtx·stands·for·Input·Matrix,·for·it·is·the·object·into·which·the·user·inputs·the·matrix·entries.\xd151 ···················1InpMtx·stands·for·Input·Matrix,·for·it·is·the·object·into·which·the·user·inputs·the·matrix·entries.\xd
152 ················January·15,·2021·····································SPOOLES·2.2··Solving·Linear·Systems··············7\xd152 ················February·18,·2022····································SPOOLES·2.2··Solving·Linear·Systems··············7\xd
153 ················to·place·that·entry·into·the·InpMtx·object.·Finally·this·code·segment·closes·the·file.·finalizes·the·input·to\xd153 ················to·place·that·entry·into·the·InpMtx·object.·Finally·this·code·segment·closes·the·file.·finalizes·the·input·to\xd
154 ················InpMtx·by·converting·the·internal·storage·of·the·matrix·entries·to·a·vector·form.·(This·is·necessary·for·later\xd154 ················InpMtx·by·converting·the·internal·storage·of·the·matrix·entries·to·a·vector·form.·(This·is·necessary·for·later\xd
155 ················steps.)\xd155 ················steps.)\xd
156 ················inputFile·=·fopen(matrixFileName,·"r")·;\xd156 ················inputFile·=·fopen(matrixFileName,·"r")·;\xd
157 ················fscanf(inputFile,·"%d·%d·%d",·&nrow,·&ncol,·&nent)·;\xd157 ················fscanf(inputFile,·"%d·%d·%d",·&nrow,·&ncol,·&nent)·;\xd
158 ················neqns·=·nrow·;\xd158 ················neqns·=·nrow·;\xd
159 ················mtxA·=·InpMtx_new()·;\xd159 ················mtxA·=·InpMtx_new()·;\xd
Offset 192, 15 lines modifiedOffset 192, 15 lines modified
192 ·····················The·fifth·argument·maxnvector·is·an·estimate·of·the·number·of·number·of·vectors·that·will·be·used,\xd192 ·····················The·fifth·argument·maxnvector·is·an·estimate·of·the·number·of·number·of·vectors·that·will·be·used,\xd
193 ······················e.g.,·number·of·rows·or·numbers·of·columns.\xd193 ······················e.g.,·number·of·rows·or·numbers·of·columns.\xd
194 ················The·maxnent·and·maxnvector·arguments·only·have·to·be·estimates·as·they·are·used·in·the·initial·sizing·of\xd194 ················The·maxnent·and·maxnvector·arguments·only·have·to·be·estimates·as·they·are·used·in·the·initial·sizing·of\xd
195 ················the·object.·Either·can·be·0.·The·InpMtx·object·resizes·itself·as·required·to·handle·the·linear·system.\xd195 ················the·object.·Either·can·be·0.·The·InpMtx·object·resizes·itself·as·required·to·handle·the·linear·system.\xd
196 ···················2Note·that·SPOOLES·has·some·pre-defined·parameters·such·as·INPMTX·BY·ROWS·for·some·objects.·These·parameters·are\xd196 ···················2Note·that·SPOOLES·has·some·pre-defined·parameters·such·as·INPMTX·BY·ROWS·for·some·objects.·These·parameters·are\xd
197 ················always·uppercase·and·either·begin·with·the·name·of·the·object·which·they·apply·to,·or·the·library·name,·e.g.,·SPOOLES·REAL.\xd197 ················always·uppercase·and·either·begin·with·the·name·of·the·object·which·they·apply·to,·or·the·library·name,·e.g.,·SPOOLES·REAL.\xd
198 ················They·are·described·in·the·reference·manual·in·the·section·for·the·particular·object.\xd198 ················They·are·described·in·the·reference·manual·in·the·section·for·the·particular·object.\xd
199 ··············8········SPOOLES·2.2··Solving·Linear·Systems·······························January·15,·2021\xd199 ··············8········SPOOLES·2.2··Solving·Linear·Systems······························February·18,·2022\xd
200 ·················Every·object·in·SPOOLES·has·print·methods·to·output·the·contents·of·that·object.·This·is·illustrated\xd200 ·················Every·object·in·SPOOLES·has·print·methods·to·output·the·contents·of·that·object.·This·is·illustrated\xd
201 ··············in·this·code·segment·by·printing·the·input·matrix·as·contained·in·the·InpMtx·object,·mtxA.·To·shorten·this\xd201 ··············in·this·code·segment·by·printing·the·input·matrix·as·contained·in·the·InpMtx·object,·mtxA.·To·shorten·this\xd
202 ··············chapter·we·will·from·now·on·omit·the·part·of·the·code·that·prints·debug·output·to·msgFile·for·the·various\xd202 ··············chapter·we·will·from·now·on·omit·the·part·of·the·code·that·prints·debug·output·to·msgFile·for·the·various\xd
203 ··············code·segments.·The·complete·sample·program·in·Section·A·contains·all·of·the·debug·print·statements.\xd203 ··············code·segments.·The·complete·sample·program·in·Section·A·contains·all·of·the·debug·print·statements.\xd
204 ·················After·the·matrix·A·has·been·read·in·from·the·file·and·placed·in·an·InpMtx·object,·the·right·hand·matrix\xd204 ·················After·the·matrix·A·has·been·read·in·from·the·file·and·placed·in·an·InpMtx·object,·the·right·hand·matrix\xd
205 ··············Y·is·read·in·from·a·file·and·placed·in·a·DenseMtx·object.·The·following·code·fragment·does·this·operation.\xd205 ··············Y·is·read·in·from·a·file·and·placed·in·a·DenseMtx·object.·The·following·code·fragment·does·this·operation.\xd
206 ··············inputFile·=·fopen(rhsFileName,·"r")·;\xd206 ··············inputFile·=·fopen(rhsFileName,·"r")·;\xd
Offset 240, 15 lines modifiedOffset 240, 15 lines modified
240 ···················number·of·rows,·or·neqns.\xd240 ···················number·of·rows,·or·neqns.\xd
241 ··············Theinitialization·step·allocates·storage·for·the·matrix·entries,·but·it·does·not·fill·them·with·any·values.·This\xd241 ··············Theinitialization·step·allocates·storage·for·the·matrix·entries,·but·it·does·not·fill·them·with·any·values.·This\xd
242 ··············is·done·explicitly·via·the·DenseMtx·zero()·method,·which·places·zeroes·in·all·the·entries.·This·is·necessary\xd242 ··············is·done·explicitly·via·the·DenseMtx·zero()·method,·which·places·zeroes·in·all·the·entries.·This·is·necessary\xd
243 ··············since·the·right·hand·side·matrix·Y·may·be·sparse,·and·so·the·number·of·rows·in·the·file·may·not·equal·the\xd243 ··············since·the·right·hand·side·matrix·Y·may·be·sparse,·and·so·the·number·of·rows·in·the·file·may·not·equal·the\xd
244 ··············number·of·equations.\xd244 ··············number·of·equations.\xd
245 ·················The·right·hand·side·entries·are·then·in,·row·by·row,·and·placed·into·their·locations·via·one·of·the·two\xd245 ·················The·right·hand·side·entries·are·then·in,·row·by·row,·and·placed·into·their·locations·via·one·of·the·two\xd
246 ··············“set·entries”·methods.·Note,·the·nonzero·rows·can·be·read·from·the·file·in·any·order.\xd246 ··············“set·entries”·methods.·Note,·the·nonzero·rows·can·be·read·from·the·file·in·any·order.\xd
247 ·················January·15,·2021····································SPOOLES·2.2··Solving·Linear·Systems···············9\xd247 ·················February·18,·2022···································SPOOLES·2.2··Solving·Linear·Systems···············9\xd
248 ·················2.3···Reordering·the·linear·system\xd248 ·················2.3···Reordering·the·linear·system\xd
249 ·················The·first·step·is·to·find·the·permutation·matrix·P,·and·then·permute·AX·=·Y·into·(PAPT)(PX)·=·PY.\xd249 ·················The·first·step·is·to·find·the·permutation·matrix·P,·and·then·permute·AX·=·Y·into·(PAPT)(PX)·=·PY.\xd
250 ·················The·result·of·the·SPOOLES·ordering·step·is·not·just·P·or·its·permutation·vector,·it·is·a·front·tree·that\xd250 ·················The·result·of·the·SPOOLES·ordering·step·is·not·just·P·or·its·permutation·vector,·it·is·a·front·tree·that\xd
251 ·················defines·not·just·the·permutation,·but·the·blocking·of·the·factor·matrices,·which·in·turn·specifies·the·data\xd251 ·················defines·not·just·the·permutation,·but·the·blocking·of·the·factor·matrices,·which·in·turn·specifies·the·data\xd
252 ·················structures·and·the·computations·that·are·performed·during·the·factor·and·solves.·To·determine·this·ETree\xd252 ·················structures·and·the·computations·that·are·performed·during·the·factor·and·solves.·To·determine·this·ETree\xd
253 ·················front·tree·object·takes·three·step,·as·seen·in·the·code·fragment·below.\xd253 ·················front·tree·object·takes·three·step,·as·seen·in·the·code·fragment·below.\xd
254 ·················adjIVL·=·InpMtx_fullAdjacency(mtxA)·;\xd254 ·················adjIVL·=·InpMtx_fullAdjacency(mtxA)·;\xd
Offset 287, 15 lines modifiedOffset 287, 15 lines modified
287 ·················InpMtx_changeCoordType(mtxA,·INPMTX_BY_CHEVRONS)·;\xd287 ·················InpMtx_changeCoordType(mtxA,·INPMTX_BY_CHEVRONS)·;\xd
288 ·················InpMtx_changeStorageMode(mtxA,·INPMTX_BY_VECTORS)·;\xd288 ·················InpMtx_changeStorageMode(mtxA,·INPMTX_BY_VECTORS)·;\xd
289 ·················DenseMtx_permuteRows(mtxB,·oldToNewIV)·;\xd289 ·················DenseMtx_permuteRows(mtxB,·oldToNewIV)·;\xd
290 ·················The·oldToNewIV·and·newToOldIV·variables·are·IV·objects·that·represent·an·integer·vector.·The·oldToNew\xd290 ·················The·oldToNewIV·and·newToOldIV·variables·are·IV·objects·that·represent·an·integer·vector.·The·oldToNew\xd
291 ·················and·newToOld·variables·are·pointers·to·int,·which·point·to·the·base·address·of·the·int·vector·in·an·IV\xd291 ·················and·newToOld·variables·are·pointers·to·int,·which·point·to·the·base·address·of·the·int·vector·in·an·IV\xd
292 ·················object.\xd292 ·················object.\xd
293 ···················3IVL·stands·for·Integer·Vector·List,·i.e.,·a·list·of·integer·vectors.\xd293 ···················3IVL·stands·for·Integer·Vector·List,·i.e.,·a·list·of·integer·vectors.\xd
294 ·················10·········SPOOLES2.2—SolvingLinearSystems··············································January·15,·2021\xd294 ·················10·········SPOOLES2.2—SolvingLinearSystems·············································February·18,·2022\xd
295 ····················Once·we·have·the·permutation·vector,·we·apply·it·to·the·front·tree,·by·the·ETree·permuteVertices()\xd295 ····················Once·we·have·the·permutation·vector,·we·apply·it·to·the·front·tree,·by·the·ETree·permuteVertices()\xd
296 ·················method,·and·then·to·the·matrix·with·the·InpMtx·permute()·method.·If·the·matrix·A·is·symmetric·or\xd296 ·················method,·and·then·to·the·matrix·with·the·InpMtx·permute()·method.·If·the·matrix·A·is·symmetric·or\xd
297 ·················Hermitian,·we·expect·all·nonzero·entries·to·be·in·the·upper·triangle.·Permuting·the·matrix·yields·PAPT,\xd297 ·················Hermitian,·we·expect·all·nonzero·entries·to·be·in·the·upper·triangle.·Permuting·the·matrix·yields·PAPT,\xd
298 ·················which·may·not·have·all·of·its·entries·in·the·upper·triangle.·If·A·is·symmetric·or·Hermitian,·the·call·to\xd298 ·················which·may·not·have·all·of·its·entries·in·the·upper·triangle.·If·A·is·symmetric·or·Hermitian,·the·call·to\xd
299 ·················InpMtx·mapToUpperTriangle()·ensures·that·all·entries·of·PAPT·are·in·its·upper·triangle.·Permuting·the\xd299 ·················InpMtx·mapToUpperTriangle()·ensures·that·all·entries·of·PAPT·are·in·its·upper·triangle.·Permuting·the\xd
300 ·················matrix·destroys·the·internal·vector·structure,·which·has·to·be·restored.·But·first·we·need·to·change·the\xd300 ·················matrix·destroys·the·internal·vector·structure,·which·has·to·be·restored.·But·first·we·need·to·change·the\xd
301 ················································································4\xd301 ················································································4\xd
Offset 330, 15 lines modifiedOffset 330, 15 lines modified
Max diff block lines reached; 46909/60769 bytes (77.19%) of diff not shown.
22.9 KB
./usr/share/doc/spooles-doc/BKL.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2390061 gzip·compressed·data,·max·compression,·from·Unix,·original·size·239178
22.7 KB
BKL.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10·CMMI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10·CMMI10
9 %%+·CMEX10·CMR89 %%+·CMEX10·CMR8
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·BKL.ps13 %DVIPSCommandLine:·dvips·main·-o·BKL.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1845, 19 lines modifiedOffset 1845, 20 lines modified
1845 end·readonly·def1845 end·readonly·def
1846 /Encoding·256·array1846 /Encoding·256·array
1847 0·1·255·{1·index·exch·/.notdef·put}·for1847 0·1·255·{1·index·exch·/.notdef·put}·for
1848 dup·44·/comma·put1848 dup·44·/comma·put
1849 dup·48·/zero·put1849 dup·48·/zero·put
1850 dup·49·/one·put1850 dup·49·/one·put
1851 dup·50·/two·put1851 dup·50·/two·put
1852 dup·53·/five·put1852 dup·56·/eight·put
1853 dup·58·/colon·put1853 dup·58·/colon·put
1854 dup·74·/J·put1854 dup·70·/F·put
1855 dup·97·/a·put1855 dup·97·/a·put
 1856 dup·98·/b·put
1856 dup·110·/n·put1857 dup·101·/e·put
1857 dup·114·/r·put1858 dup·114·/r·put
1858 dup·117·/u·put1859 dup·117·/u·put
1859 dup·121·/y·put1860 dup·121·/y·put
1860 readonly·def1861 readonly·def
1861 currentdict·end1862 currentdict·end
1862 currentfile·eexec1863 currentfile·eexec
1863 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71864 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 2041, 84 lines modifiedOffset 2042, 86 lines modified
2041 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A2042 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
2042 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380822043 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
2043 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E2044 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
2044 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A52045 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
2045 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B052046 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
2046 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C052047 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
2047 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97672048 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
2048 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7042049 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
2049 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
2050 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
2051 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
2052 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
2053 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
2054 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
2055 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
2056 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
2057 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
2058 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
2059 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
2060 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
2061 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
2062 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
2063 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
2064 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
2065 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
2066 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
2067 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
2068 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
2069 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
2070 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
2071 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
2072 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
2073 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
2074 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
2075 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
2076 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
2077 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
2078 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
2079 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
2080 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
2081 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
2082 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
2083 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
2084 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
2085 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
2086 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
2087 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
2088 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
2089 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
2090 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
2091 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
2092 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
2093 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
2094 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
2095 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
2096 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
2097 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
2098 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
2099 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
2100 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
2101 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
2102 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
2103 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
2104 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
2105 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
2106 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
2107 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
2108 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
2109 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
2110 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
2111 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
2112 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
2113 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
2114 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
2115 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
2116 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
2117 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE52050 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 2051 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 2052 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 2053 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 2054 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 2055 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 2056 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 2057 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 2058 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 2059 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 2060 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 2061 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 2062 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 2063 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 6529/17668 bytes (36.95%) of diff not shown.
5.4 KB
ps2ascii {}
    
Offset 18, 15 lines modifiedOffset 18, 15 lines modified
18 ··············int·ngaineval·:·number·of·gain·evaluations,·roughly·equivalent·to·the·number·of·degree\xd18 ··············int·ngaineval·:·number·of·gain·evaluations,·roughly·equivalent·to·the·number·of·degree\xd
19 ···············evaluations·in·the·minimum·degree·algorithm\xd19 ···············evaluations·in·the·minimum·degree·algorithm\xd
20 ··············int·*colors·:·pointer·to·an·int·vector·of·size·nreg,·colors[idom]·is·1·or·2·for·domain\xd20 ··············int·*colors·:·pointer·to·an·int·vector·of·size·nreg,·colors[idom]·is·1·or·2·for·domain\xd
21 ···············idom,·colors[iseg]·is·0,·1·or·2·for·segment·iseg.\xd21 ···············idom,·colors[iseg]·is·0,·1·or·2·for·segment·iseg.\xd
22 ··············int·*cweights·:·pointer·to·an·int·vector·of·size·3,·cweights[0]·contains·the·weight·of·the\xd22 ··············int·*cweights·:·pointer·to·an·int·vector·of·size·3,·cweights[0]·contains·the·weight·of·the\xd
23 ···············separator,·cweights[1]·and·cweights[2]·contains·the·weights·of·the·two·components\xd23 ···············separator,·cweights[1]·and·cweights[2]·contains·the·weights·of·the·two·components\xd
24 ·············································1\xd24 ·············································1\xd
25 ·············2····························BKL·:·DRAFT·January·15,·2021\xd25 ·············2····························BKL·:·DRAFT·February·18,·2022\xd
26 ·················int·*regwghts·:·pointer·to·an·int·vector·of·size·nreg,·used·to·store·the·weights·of·the\xd26 ·················int·*regwghts·:·pointer·to·an·int·vector·of·size·nreg,·used·to·store·the·weights·of·the\xd
27 ··················domains·and·segments\xd27 ··················domains·and·segments\xd
28 ·················float·alpha·:·number·used·to·store·the·partition·evaluation·parameter,·the·cost·of·the\xd28 ·················float·alpha·:·number·used·to·store·the·partition·evaluation·parameter,·the·cost·of·the\xd
29 ··················partition·is\xd29 ··················partition·is\xd
30 ··················balance·=·max(cweights[1],·cweights[2])/min(cweights[1],·cweights[2])·;\xd30 ··················balance·=·max(cweights[1],·cweights[2])/min(cweights[1],·cweights[2])·;\xd
31 ··················cost····=·cweights[0]*(1.·+·alpha*balance)·;\xd31 ··················cost····=·cweights[0]*(1.·+·alpha*balance)·;\xd
32 ·············1.2····Prototypes·and·descriptions·of·BKL·methods\xd32 ·············1.2····Prototypes·and·descriptions·of·BKL·methods\xd
Offset 47, 15 lines modifiedOffset 47, 15 lines modified
47 ··················This·method·clears·any·data·allocated·by·the·object,·namely·the·colors·and·regwghts·vec-\xd47 ··················This·method·clears·any·data·allocated·by·the·object,·namely·the·colors·and·regwghts·vec-\xd
48 ··················tors.·It·then·fills·the·structure’s·fields·with·default·values·with·a·call·to·BKL·setDefaultFields().\xd48 ··················tors.·It·then·fills·the·structure’s·fields·with·default·values·with·a·call·to·BKL·setDefaultFields().\xd
49 ··················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd49 ··················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
50 ···············4.·void·BKL_free·(·BKL·*bkl·)·;\xd50 ···············4.·void·BKL_free·(·BKL·*bkl·)·;\xd
51 ··················This·method·releases·any·storage·by·a·call·to·BKL·clearData()·then·free’s·the·storage·for\xd51 ··················This·method·releases·any·storage·by·a·call·to·BKL·clearData()·then·free’s·the·storage·for\xd
52 ··················the·structure·with·a·call·to·free().\xd52 ··················the·structure·with·a·call·to·free().\xd
53 ··················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd53 ··················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
54 ·······································BKL·:·DRAFT···January·15,·2021····················3\xd54 ·······································BKL·:·DRAFT··February·18,·2022····················3\xd
55 ············1.3.1··Initializer·methods\xd55 ············1.3.1··Initializer·methods\xd
56 ···············1.·void·BKL_init·(·BKL·*bkl,·BPG·*bpg,·float·alpha·)·;\xd56 ···············1.·void·BKL_init·(·BKL·*bkl,·BPG·*bpg,·float·alpha·)·;\xd
57 ·················This·method·initializes·the·BKL·object·given·a·bipartite·graph·object·and·cost·function·pa-\xd57 ·················This·method·initializes·the·BKL·object·given·a·bipartite·graph·object·and·cost·function·pa-\xd
58 ·················rameter·as·input.·Any·previous·data·is·cleared·with·a·call·to·BKL·clearData().·The·ndom,\xd58 ·················rameter·as·input.·Any·previous·data·is·cleared·with·a·call·to·BKL·clearData().·The·ndom,\xd
59 ·················nseg·and·nreg·scalars·are·set,·the·regwghts[]·vector·allocated·and·filled,·and·the·colors[]\xd59 ·················nseg·and·nreg·scalars·are·set,·the·regwghts[]·vector·allocated·and·filled,·and·the·colors[]\xd
60 ·················vector·allocated·and·filled·with·zeros.\xd60 ·················vector·allocated·and·filled·with·zeros.\xd
61 ·················Error·checking:·If·bkl·or·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd61 ·················Error·checking:·If·bkl·or·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
Offset 84, 15 lines modifiedOffset 84, 15 lines modified
84 ·················This·method·returns·the·next·domain·id·in·a·grey·code·sequence,·used·to·exhaustively·search\xd84 ·················This·method·returns·the·next·domain·id·in·a·grey·code·sequence,·used·to·exhaustively·search\xd
85 ·················of·a·subspace·of·partitions·defined·by·set·of·candidate·domains·to·flip.·The·value·count\xd85 ·················of·a·subspace·of·partitions·defined·by·set·of·candidate·domains·to·flip.·The·value·count\xd
86 ·················ranges·from·1·to·2ndom.\xd86 ·················ranges·from·1·to·2ndom.\xd
87 ·················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd87 ·················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
88 ···············6.·float·BKL_setInitPart·(·BKL·*bkl,·int·flag,·int·seed,·int·domcolors[]·)·;\xd88 ···············6.·float·BKL_setInitPart·(·BKL·*bkl,·int·flag,·int·seed,·int·domcolors[]·)·;\xd
89 ·················This·method·sets·the·initial·partition·by·coloring·the·domains·and·segments.·The·flag\xd89 ·················This·method·sets·the·initial·partition·by·coloring·the·domains·and·segments.·The·flag\xd
90 ·················parameter·has·the·following·values.\xd90 ·················parameter·has·the·following·values.\xd
91 ··············4·····························BKL·:·DRAFT·January·15,·2021\xd91 ··············4····························BKL·:·DRAFT·February·18,·2022\xd
92 ······················flag·=·1·−→·random·coloring·of·the·domains\xd92 ······················flag·=·1·−→·random·coloring·of·the·domains\xd
93 ······················flag·=·2·−→·one·black·domain,·(seed·%·ndom),·rest·are·white\xd93 ······················flag·=·2·−→·one·black·domain,·(seed·%·ndom),·rest·are·white\xd
94 ······················flag·=·3·−→·one·black·pseudoperipheral·domain,·found·using·domain·(seed·%·ndom)\xd94 ······················flag·=·3·−→·one·black·pseudoperipheral·domain,·found·using·domain·(seed·%·ndom)\xd
95 ·······················as·root,·rest·are·white\xd95 ·······················as·root,·rest·are·white\xd
96 ······················flag·=·4·−→·roughly·half-half·split,·breadth·first·search·of·domains,·(seed·%·ndom)·as\xd96 ······················flag·=·4·−→·roughly·half-half·split,·breadth·first·search·of·domains,·(seed·%·ndom)·as\xd
97 ·······················root\xd97 ·······················root\xd
98 ······················flag·=·5·−→·roughly·half-half·split,·breadth·first·search·of·domains,·(seed·%·ndom)·as\xd98 ······················flag·=·5·−→·roughly·half-half·split,·breadth·first·search·of·domains,·(seed·%·ndom)·as\xd
Offset 119, 15 lines modifiedOffset 119, 15 lines modified
119 ···················The·|S|,·|B|·and·|W|·values·are·taken·from·the·cweights[]·vector.·If·min(|B|,|W|)·>·0,·this\xd119 ···················The·|S|,·|B|·and·|W|·values·are·taken·from·the·cweights[]·vector.·If·min(|B|,|W|)·>·0,·this\xd
120 ···················function·returns··············\x12···················\x13\xd120 ···················function·returns··············\x12···················\x13\xd
121 ··············································|S|·1+α∗max(|B|,|W|)·,\xd121 ··············································|S|·1+α∗max(|B|,|W|)·,\xd
122 ·························································min(|B|,|W|)\xd122 ·························································min(|B|,|W|)\xd
123 ···················································2\xd123 ···················································2\xd
124 ···················otherwise·it·returns·(|S|·+·|B|·+·|W|)·.\xd124 ···················otherwise·it·returns·(|S|·+·|B|·+·|W|)·.\xd
125 ···················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd125 ···················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
126 ····················································BKL·:·DRAFT·······January·15,·2021································5\xd126 ···················································BKL·:·DRAFT·······February·18,·2022································5\xd
127 ···················3.·float·BKL_eval·(·BKL·*bkl,·int·Sweight,·int·Bweight,·int·Wweight·)·;\xd127 ···················3.·float·BKL_eval·(·BKL·*bkl,·int·Sweight,·int·Bweight,·int·Wweight·)·;\xd
128 ······················The·|S|,·|B|·and·|W|·values·are·taken·from·the·Sweight,·Bweight·and·Wweight·parameters.\xd128 ······················The·|S|,·|B|·and·|W|·values·are·taken·from·the·Sweight,·Bweight·and·Wweight·parameters.\xd
129 ······················If·min(|B|,|W|)·>·0,·this·function·returns\xd129 ······················If·min(|B|,|W|)·>·0,·this·function·returns\xd
130 ························································|S|\x121+α∗·max(|B|,|W|)\x13,\xd130 ························································|S|\x121+α∗·max(|B|,|W|)\x13,\xd
131 ·····································································min(|B|,|W|)\xd131 ·····································································min(|B|,|W|)\xd
132 ······························································2\xd132 ······························································2\xd
133 ······················otherwise·it·returns·(|S|·+·|B|·+·|W|)·.·The·method·checks·that·bkl·is·not·NULL.\xd133 ······················otherwise·it·returns·(|S|·+·|B|·+·|W|)·.·The·method·checks·that·bkl·is·not·NULL.\xd
36.8 KB
./usr/share/doc/spooles-doc/BPG.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2983621 gzip·compressed·data,·max·compression,·from·Unix,·original·size·298544
36.6 KB
BPG.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMSY10·CMBX108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMSY10·CMBX10
9 %%+·CMEX10·CMSL10·CMMI79 %%+·CMEX10·CMSL10·CMMI7
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·BPG.ps13 %DVIPSCommandLine:·dvips·main·-o·BPG.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 967, 19 lines modifiedOffset 967, 20 lines modified
967 end·readonly·def967 end·readonly·def
968 /Encoding·256·array968 /Encoding·256·array
969 0·1·255·{1·index·exch·/.notdef·put}·for969 0·1·255·{1·index·exch·/.notdef·put}·for
970 dup·44·/comma·put970 dup·44·/comma·put
971 dup·48·/zero·put971 dup·48·/zero·put
972 dup·49·/one·put972 dup·49·/one·put
973 dup·50·/two·put973 dup·50·/two·put
974 dup·53·/five·put974 dup·56·/eight·put
975 dup·58·/colon·put975 dup·58·/colon·put
976 dup·74·/J·put976 dup·70·/F·put
977 dup·97·/a·put977 dup·97·/a·put
 978 dup·98·/b·put
978 dup·110·/n·put979 dup·101·/e·put
979 dup·114·/r·put980 dup·114·/r·put
980 dup·117·/u·put981 dup·117·/u·put
981 dup·121·/y·put982 dup·121·/y·put
982 readonly·def983 readonly·def
983 currentdict·end984 currentdict·end
984 currentfile·eexec985 currentfile·eexec
985 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7986 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1163, 84 lines modifiedOffset 1164, 86 lines modified
1163 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1164 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1164 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821165 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1165 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1166 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1166 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51167 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1167 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051168 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1168 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051169 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1169 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671170 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1170 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041171 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1171 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1172 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1173 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1174 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1175 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1176 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1177 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1178 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1179 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1180 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1181 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1182 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1183 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1184 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1185 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1186 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1187 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1188 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1189 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1190 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1191 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1192 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1193 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1194 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1195 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1196 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1197 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1198 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1199 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1200 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1201 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1202 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1203 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1204 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1205 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1206 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1207 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1208 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1209 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1210 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1211 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1212 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1213 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1214 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1215 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1216 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1217 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1218 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1219 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1220 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1221 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1222 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1223 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1224 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1225 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1226 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1227 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1228 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1229 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1230 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1231 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1232 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1233 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1234 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1235 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1236 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1237 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1238 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1239 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51172 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1173 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1174 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1175 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1176 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1177 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1178 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1179 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1180 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1181 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1182 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1183 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1184 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1185 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 17239/28384 bytes (60.73%) of diff not shown.
8.82 KB
ps2ascii {}
    
Offset 29, 15 lines modifiedOffset 29, 15 lines modified
29 ········code·for·the·process·outweighed·(outline’d?)·the·BPG·code·for·the·data.·Now·if·someone·wants·to·modify\xd29 ········code·for·the·process·outweighed·(outline’d?)·the·BPG·code·for·the·data.·Now·if·someone·wants·to·modify\xd
30 ········(and·hopefully·improve)·the·Kernighan-Lin·process,·they·won’t·alter·the·behavior·of·the·bipartite·graph\xd30 ········(and·hopefully·improve)·the·Kernighan-Lin·process,·they·won’t·alter·the·behavior·of·the·bipartite·graph\xd
31 ········object.\xd31 ········object.\xd
32 ·········Finding·the·Dulmage-Mendelsohn·decomposition·of·a·bipartite·graph·is·a·little·less·clear·cut.·When·the\xd32 ·········Finding·the·Dulmage-Mendelsohn·decomposition·of·a·bipartite·graph·is·a·little·less·clear·cut.·When·the\xd
33 ········vertices·in·the·bipartite·graph·have·unit·weight,·the·process·is·straightforward.\xd33 ········vertices·in·the·bipartite·graph·have·unit·weight,·the·process·is·straightforward.\xd
34 ··········Find·a·maximum·matching.\xd34 ··········Find·a·maximum·matching.\xd
35 ·······························1\xd35 ·······························1\xd
36 ········2················BPG·:·DRAFT·January·15,·2021\xd36 ········2················BPG·:·DRAFT·February·18,·2022\xd
37 ··········Drop·an·alternating·level·structure·from·exposed·nodes·in·X.\xd37 ··········Drop·an·alternating·level·structure·from·exposed·nodes·in·X.\xd
38 ··········Drop·an·alternating·level·structure·from·exposed·nodes·in·Y·.\xd38 ··········Drop·an·alternating·level·structure·from·exposed·nodes·in·Y·.\xd
39 ··········Based·on·the·two·previous·steps,·partition·X·into·three·pieces·and·Y·into·three·pieces·and·form·a·new\xd39 ··········Based·on·the·two·previous·steps,·partition·X·into·three·pieces·and·Y·into·three·pieces·and·form·a·new\xd
40 ··········separator·from·the·pieces.\xd40 ··········separator·from·the·pieces.\xd
41 ········(If·these·terms·are·not·familiar,·see·[?];·our·present·purpose·is·a·discussion·of·software·design,·not·algorithms.)\xd41 ········(If·these·terms·are·not·familiar,·see·[?];·our·present·purpose·is·a·discussion·of·software·design,·not·algorithms.)\xd
42 ········Amatching·is·a·very·common·operation·on·a·bipartite·graph,·so·it·is·not·unreasonable·to·expand·the·data\xd42 ········Amatching·is·a·very·common·operation·on·a·bipartite·graph,·so·it·is·not·unreasonable·to·expand·the·data\xd
43 ········object·to·include·some·mechanism·for·matching,·e.g.,·a·mate[]·vector.·Finding·a·maximum·matching·is\xd43 ········object·to·include·some·mechanism·for·matching,·e.g.,·a·mate[]·vector.·Finding·a·maximum·matching·is\xd
Offset 78, 15 lines modifiedOffset 78, 15 lines modified
78 ····················································b\xd78 ····················································b\xd
79 ········separator·size.·But,·if·we·consider·S··(Adj(S)··B)·to·be·a·wide·separator,·the·resulting·separator·S·need\xd79 ········separator·size.·But,·if·we·consider·S··(Adj(S)··B)·to·be·a·wide·separator,·the·resulting·separator·S·need\xd
80 ········not·be·a·separator·with·minimal·weight·that·is·found·within·the·wide·separator.·The·trick·is·that·some\xd80 ········not·be·a·separator·with·minimal·weight·that·is·found·within·the·wide·separator.·The·trick·is·that·some\xd
81 ········nodes·in·Adj(S)∩B·might·be·absorbed·into·W.\xd81 ········nodes·in·Adj(S)∩B·might·be·absorbed·into·W.\xd
82 ·········Onecanfindaseparatorwith·minimal·weight·from·the·wide·separator·S∪(Adj(S)∩B),·in·fact·from·any\xd82 ·········Onecanfindaseparatorwith·minimal·weight·from·the·wide·separator·S∪(Adj(S)∩B),·in·fact·from·any\xd
83 ········wide·separator·that·contains·S,·by·solving·a·max·flow·problem.·The·drawback·is·that·the·network·induced\xd83 ········wide·separator·that·contains·S,·by·solving·a·max·flow·problem.·The·drawback·is·that·the·network·induced\xd
84 ········by·S∪(Adj(S)∩B)·need·not·be·bipartite.·In·other·words,·a·bipartite·induced·graph·necessarily·implies·two\xd84 ········by·S∪(Adj(S)∩B)·need·not·be·bipartite.·In·other·words,·a·bipartite·induced·graph·necessarily·implies·two\xd
85 ············································BPG·:·DRAFT··January·15,·2021·························3\xd85 ············································BPG·:·DRAFT··February·18,·2022························3\xd
86 ··············layers·to·the·wide·separator,·but·the·converse·does·not·hold.·We·were·then·free·to·examine·wide·separators\xd86 ··············layers·to·the·wide·separator,·but·the·converse·does·not·hold.·We·were·then·free·to·examine·wide·separators\xd
87 ··············that·had·more·than·two·layers·from·which·to·find·a·minimal·weight·separator.·It·turns·out·that·three·layers\xd87 ··············that·had·more·than·two·layers·from·which·to·find·a·minimal·weight·separator.·It·turns·out·that·three·layers\xd
88 ··············is·better·than·two,·in·practice.\xd88 ··············is·better·than·two,·in·practice.\xd
89 ················We·did·write·a·separate·object·to·solve·our·max·flow·problem;·see·the·Network·object.·To·smooth·a\xd89 ················We·did·write·a·separate·object·to·solve·our·max·flow·problem;·see·the·Network·object.·To·smooth·a\xd
90 ··············separator,·i.e.,·to·improve·a·2-set·partition,·we·no·longer·have·need·of·the·bipartite·graph·object.·We·leave\xd90 ··············separator,·i.e.,·to·improve·a·2-set·partition,·we·no·longer·have·need·of·the·bipartite·graph·object.·We·leave\xd
91 ··············the·two·Dulmage-Mendelsohn·methods·in·the·BPG·object·for·historical·and·sentimental·reasons.\xd91 ··············the·two·Dulmage-Mendelsohn·methods·in·the·BPG·object·for·historical·and·sentimental·reasons.\xd
92 ··············1.1···Data·Structure\xd92 ··············1.1···Data·Structure\xd
Offset 110, 15 lines modifiedOffset 110, 15 lines modified
110 ··················This·method·releases·the·storage·for·graph·via·a·call·to·Graph·clearData(),·and·then·the·structure’s\xd110 ··················This·method·releases·the·storage·for·graph·via·a·call·to·Graph·clearData(),·and·then·the·structure’s\xd
111 ··················fields·are·then·set·to·their·default·values·with·a·call·to·BPG·setDefaultFields().\xd111 ··················fields·are·then·set·to·their·default·values·with·a·call·to·BPG·setDefaultFields().\xd
112 ··················Error·checking:·If·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd112 ··················Error·checking:·If·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
113 ················4.·void·BPG_free·(·BPG·*bpg·)·;\xd113 ················4.·void·BPG_free·(·BPG·*bpg·)·;\xd
114 ··················This·method·releases·any·storage·by·a·call·to·BPG·clearData()then·free’s·the·storage·for·the·structure\xd114 ··················This·method·releases·any·storage·by·a·call·to·BPG·clearData()then·free’s·the·storage·for·the·structure\xd
115 ··················with·a·call·to·free().\xd115 ··················with·a·call·to·free().\xd
116 ··················Error·checking:·If·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd116 ··················Error·checking:·If·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
117 ··············4······························BPG·:·DRAFT·January·15,·2021\xd117 ··············4·····························BPG·:·DRAFT·February·18,·2022\xd
118 ··············1.2.2··Initializer·methods\xd118 ··············1.2.2··Initializer·methods\xd
119 ··············There·are·two·initializer·methods.\xd119 ··············There·are·two·initializer·methods.\xd
120 ················1.·void·BPG_init·(·BPG·*bpg,·int·nX,·int·nY,·Graph·*graph·)·;\xd120 ················1.·void·BPG_init·(·BPG·*bpg,·int·nX,·int·nY,·Graph·*graph·)·;\xd
121 ··················This·method·initializes·the·BPG·object·when·all·three·of·its·fields·are·given·in·the·calling·sequence.·The\xd121 ··················This·method·initializes·the·BPG·object·when·all·three·of·its·fields·are·given·in·the·calling·sequence.·The\xd
122 ··················Graphobject·has·nX·+·nY·vertices.·Note,·the·BPG·object·now·“owns”·the·Graph·object·and·so·will·free\xd122 ··················Graphobject·has·nX·+·nY·vertices.·Note,·the·BPG·object·now·“owns”·the·Graph·object·and·so·will·free\xd
123 ··················the·Graph·object·when·it·is·free’d.·The·Graph·object·may·contains·edges·between·nodes·in·X·and·Y,\xd123 ··················the·Graph·object·when·it·is·free’d.·The·Graph·object·may·contains·edges·between·nodes·in·X·and·Y,\xd
124 ··················but·these·edges·are·swapped·to·the·end·of·each·adjacency·list·and·the·size·of·each·list·is·then·set.\xd124 ··················but·these·edges·are·swapped·to·the·end·of·each·adjacency·list·and·the·size·of·each·list·is·then·set.\xd
Offset 151, 15 lines modifiedOffset 151, 15 lines modified
151 ··········································int·mark[],·int·tag·)·;\xd151 ··········································int·mark[],·int·tag·)·;\xd
152 ··················This·method·drops·a·level·structure·from·vertex·root,·fills·the·dist[]·vector·with·the·distances·from\xd152 ··················This·method·drops·a·level·structure·from·vertex·root,·fills·the·dist[]·vector·with·the·distances·from\xd
153 ··················root,·and·returns·the·number·of·levels·created.·The·mark[]·vector·is·used·to·mark·nodes·with·the·tag\xd153 ··················root,·and·returns·the·number·of·levels·created.·The·mark[]·vector·is·used·to·mark·nodes·with·the·tag\xd
154 ··················value·as·they·are·placed·in·the·level·structure.·The·list[]·vector·is·used·to·accumulate·the·nodes·as\xd154 ··················value·as·they·are·placed·in·the·level·structure.·The·list[]·vector·is·used·to·accumulate·the·nodes·as\xd
155 ··················they·are·placed·in·the·level·structure.\xd155 ··················they·are·placed·in·the·level·structure.\xd
156 ··················Error·checking:·If·bpg,·list,·dist·or·mark·is·NULL,·or·if·root·is·not·in·[0,·nX+nY),·an·error·message\xd156 ··················Error·checking:·If·bpg,·list,·dist·or·mark·is·NULL,·or·if·root·is·not·in·[0,·nX+nY),·an·error·message\xd
157 ··················is·printed·and·the·program·exits.\xd157 ··················is·printed·and·the·program·exits.\xd
158 ····················································BPG·:·DRAFT····January·15,·2021································5\xd158 ···················································BPG·:·DRAFT·····February·18,·2022·······························5\xd
159 ················1.2.5····Dulmage-Mendelsohn·decomposition·method\xd159 ················1.2.5····Dulmage-Mendelsohn·decomposition·method\xd
160 ················There·is·one·method·to·find·the·Dulmage-Mendelsohn·decomposition·that·uses·matching·when·the·graph\xd160 ················There·is·one·method·to·find·the·Dulmage-Mendelsohn·decomposition·that·uses·matching·when·the·graph\xd
161 ················is·unit·weight·and·a·generalized·matching·technique·otherwise.·There·is·a·second·method·to·find·the\xd161 ················is·unit·weight·and·a·generalized·matching·technique·otherwise.·There·is·a·second·method·to·find·the\xd
162 ················decomposition·using·a·Ford-Fulkerson·algorithm·to·find·a·max·flow·and·a·min-cut·on·a·bipartite·network.\xd162 ················decomposition·using·a·Ford-Fulkerson·algorithm·to·find·a·max·flow·and·a·min-cut·on·a·bipartite·network.\xd
163 ················This·has·largely·been·superceded·by·the·Network·object.\xd163 ················This·has·largely·been·superceded·by·the·Network·object.\xd
164 ··················1.·void·BPG_DMdecomposition·(·BPG·*bpg,·int·dmflags[],·int·stats[],\xd164 ··················1.·void·BPG_DMdecomposition·(·BPG·*bpg,·int·dmflags[],·int·stats[],\xd
165 ···················································int·msglvl,·FILE·*msgFile·)\xd165 ···················································int·msglvl,·FILE·*msgFile·)\xd
Offset 204, 15 lines modifiedOffset 204, 15 lines modified
204 ·····················the·value·returned·from·the·called·routine.\xd204 ·····················the·value·returned·from·the·called·routine.\xd
205 ·····················Error·checking:·If·bpg·or·fn·is·NULL,·or·if·fn·is·not·of·the·form·*.bpgf·(for·a·formatted·file)·or·*.bpgb\xd205 ·····················Error·checking:·If·bpg·or·fn·is·NULL,·or·if·fn·is·not·of·the·form·*.bpgf·(for·a·formatted·file)·or·*.bpgb\xd
206 ·····················(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd206 ·····················(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd
207 ··················2.·int·BPG_readFromFormattedFile·(·BPG·*bpg,·FILE·*fp·)·;\xd207 ··················2.·int·BPG_readFromFormattedFile·(·BPG·*bpg,·FILE·*fp·)·;\xd
208 ·····················This·method·reads·a·BPG·object·from·a·formatted·file.·If·there·are·no·errors·in·reading·the·data,·the\xd208 ·····················This·method·reads·a·BPG·object·from·a·formatted·file.·If·there·are·no·errors·in·reading·the·data,·the\xd
209 ·····················value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd209 ·····················value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd
210 ·····················Error·checking:·If·bpg·or·fp·is·NULL·an·error·message·is·printed·and·zero·is·returned.\xd210 ·····················Error·checking:·If·bpg·or·fp·is·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
211 ···········6························BPG·:·DRAFT·January·15,·2021\xd211 ···········6························BPG·:·DRAFT·February·18,·2022\xd
212 ·············3.·int·BPG_readFromBinaryFile·(·BPG·*bpg,·FILE·*fp·)·;\xd212 ·············3.·int·BPG_readFromBinaryFile·(·BPG·*bpg,·FILE·*fp·)·;\xd
213 ···············This·method·reads·a·BPG·object·from·a·binary·file.·If·there·are·no·errors·in·reading·the·data,·the·value\xd213 ···············This·method·reads·a·BPG·object·from·a·binary·file.·If·there·are·no·errors·in·reading·the·data,·the·value\xd
214 ···············1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd214 ···············1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd
215 ···············Error·checking:·If·bpg·or·fp·is·NULL·an·error·message·is·printed·and·zero·is·returned.\xd215 ···············Error·checking:·If·bpg·or·fp·is·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
216 ·············4.·int·BPG_writeToFile·(·BPG·*bpg,·char·*fn·)·;\xd216 ·············4.·int·BPG_writeToFile·(·BPG·*bpg,·char·*fn·)·;\xd
217 ···············ThismethodwritesaBPGobjecttoafile.·Themethodtriestoopenthefileandifitissuccessful,it·then\xd217 ···············ThismethodwritesaBPGobjecttoafile.·Themethodtriestoopenthefileandifitissuccessful,it·then\xd
218 ···············calls·BPG·writeFromFormattedFile()or·BPG·writeFromBinaryFile(),closes·the·file·and·returns·the\xd218 ···············calls·BPG·writeFromFormattedFile()or·BPG·writeFromBinaryFile(),closes·the·file·and·returns·the\xd
Offset 243, 15 lines modifiedOffset 243, 15 lines modified
243 ···············BPG·writeStats()·method).\xd243 ···············BPG·writeStats()·method).\xd
244 ·················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means·the·BPG\xd244 ·················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means·the·BPG\xd
245 ··················object·is·written·to·the·message·file.\xd245 ··················object·is·written·to·the·message·file.\xd
246 ·················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd246 ·················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd
247 ··················file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output·data.\xd247 ··················file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output·data.\xd
248 ·················The·inFile·parameter·is·the·input·file·for·the·BPG·object.·It·must·be·of·the·form·*.bpgf·or\xd248 ·················The·inFile·parameter·is·the·input·file·for·the·BPG·object.·It·must·be·of·the·form·*.bpgf·or\xd
249 ··················*.bpgb.·The·BPG·object·is·read·from·the·file·via·the·BPG·readFromFile()·method.\xd249 ··················*.bpgb.·The·BPG·object·is·read·from·the·file·via·the·BPG·readFromFile()·method.\xd
250 ············································BPG·:·DRAFT··January·15,·2021·························7\xd250 ············································BPG·:·DRAFT··February·18,·2022························7\xd
251 ·····················The·outFile·parameter·is·the·output·file·for·the·BPG·object.·If·outFile·is·none·then·the·BPG\xd251 ·····················The·outFile·parameter·is·the·output·file·for·the·BPG·object.·If·outFile·is·none·then·the·BPG\xd
252 ······················object·is·not·written·to·a·file.·Otherwise,·the·BPG·writeToFile()·method·is·called·to·write·the\xd252 ······················object·is·not·written·to·a·file.·Otherwise,·the·BPG·writeToFile()·method·is·called·to·write·the\xd
253 ······················graph·to·a·formatted·file·(if·outFile·is·of·the·form·*.bpgf),·or·a·binary·file·(if·outFile·is·of·the\xd253 ······················graph·to·a·formatted·file·(if·outFile·is·of·the·form·*.bpgf),·or·a·binary·file·(if·outFile·is·of·the\xd
254 ······················form·*.bpgb).\xd254 ······················form·*.bpgb).\xd
255 ················2.·extractBPG·msglvl·msgFile·inGraphFile·inCompidsIVfile\xd255 ················2.·extractBPG·msglvl·msgFile·inGraphFile·inCompidsIVfile\xd
256 ···································icomp·outMapFile·outBPGfile\xd256 ···································icomp·outMapFile·outBPGfile\xd
257 ··················This·driver·program·reads·in·a·Graph·object·and·an·IV·object·that·contains·the·component·ids.·(A\xd257 ··················This·driver·program·reads·in·a·Graph·object·and·an·IV·object·that·contains·the·component·ids.·(A\xd
83.0 KB
./usr/share/doc/spooles-doc/Chv.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·4107191 gzip·compressed·data,·max·compression,·from·Unix,·original·size·410985
82.7 KB
Chv.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMSY8·CMCSC10·CMSL108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMSY8·CMCSC10·CMSL10
9 %%+·CMSY10·CMBX10·CMMI10·CMMI89 %%+·CMSY10·CMBX10·CMMI10·CMMI8
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·Chv.ps13 %DVIPSCommandLine:·dvips·main·-o·Chv.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 2110, 19 lines modifiedOffset 2110, 20 lines modified
2110 end·readonly·def2110 end·readonly·def
2111 /Encoding·256·array2111 /Encoding·256·array
2112 0·1·255·{1·index·exch·/.notdef·put}·for2112 0·1·255·{1·index·exch·/.notdef·put}·for
2113 dup·44·/comma·put2113 dup·44·/comma·put
2114 dup·48·/zero·put2114 dup·48·/zero·put
2115 dup·49·/one·put2115 dup·49·/one·put
2116 dup·50·/two·put2116 dup·50·/two·put
2117 dup·53·/five·put2117 dup·56·/eight·put
2118 dup·58·/colon·put2118 dup·58·/colon·put
2119 dup·74·/J·put2119 dup·70·/F·put
2120 dup·97·/a·put2120 dup·97·/a·put
 2121 dup·98·/b·put
2121 dup·110·/n·put2122 dup·101·/e·put
2122 dup·114·/r·put2123 dup·114·/r·put
2123 dup·117·/u·put2124 dup·117·/u·put
2124 dup·121·/y·put2125 dup·121·/y·put
2125 readonly·def2126 readonly·def
2126 currentdict·end2127 currentdict·end
2127 currentfile·eexec2128 currentfile·eexec
2128 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E72129 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 2306, 84 lines modifiedOffset 2307, 86 lines modified
2306 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A2307 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
2307 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380822308 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
2308 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E2309 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
2309 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A52310 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
2310 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B052311 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
2311 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C052312 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
2312 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97672313 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
2313 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7042314 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
2314 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
2315 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
2316 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
2317 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
2318 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
2319 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
2320 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
2321 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
2322 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
2323 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
2324 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
2325 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
2326 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
2327 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
2328 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
2329 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
2330 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
2331 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
2332 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
2333 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
2334 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
2335 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
2336 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
2337 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
2338 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
2339 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
2340 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
2341 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
2342 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
2343 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
2344 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
2345 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
2346 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
2347 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
2348 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
2349 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
2350 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
2351 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
2352 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
2353 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
2354 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
2355 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
2356 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
2357 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
2358 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
2359 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
2360 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
2361 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
2362 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
2363 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
2364 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
2365 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
2366 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
2367 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
2368 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
2369 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
2370 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
2371 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
2372 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
2373 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
2374 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
2375 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
2376 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
2377 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
2378 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
2379 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
2380 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
2381 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
2382 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE52315 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 2316 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 2317 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 2318 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 2319 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 2320 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 2321 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 2322 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 2323 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 2324 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 2325 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 2326 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 2327 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 2328 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 41531/52689 bytes (78.82%) of diff not shown.
31.2 KB
ps2ascii {}
    
Offset 23, 15 lines modifiedOffset 23, 15 lines modified
23 ·························unnecessary,·that·we·put·on·the·Chv·object··the·number·of·rows·in·the·(2,1)·block·and·number·of\xd23 ·························unnecessary,·that·we·put·on·the·Chv·object··the·number·of·rows·in·the·(2,1)·block·and·number·of\xd
24 ·························columns·in·the·(1,2)·block·are·equal.·The·Chv·object·is·used·within·the·context·of·a·factorization·of\xd24 ·························columns·in·the·(1,2)·block·are·equal.·The·Chv·object·is·used·within·the·context·of·a·factorization·of\xd
25 ·························a·sparse·matrix·that·is·assumed·to·have·symmetric·structure.·If·we·ever·extend·the·code·to·handle\xd25 ·························a·sparse·matrix·that·is·assumed·to·have·symmetric·structure.·If·we·ever·extend·the·code·to·handle\xd
26 ·························a·true·nonsymmetric·structure·factorization·(e.g.,·umfpack·and·superlu),·then·we·can·modify\xd26 ·························a·true·nonsymmetric·structure·factorization·(e.g.,·umfpack·and·superlu),·then·we·can·modify\xd
27 ·························the·Chv·object·to·handle·unequal·rows·and·columns.\xd27 ·························the·Chv·object·to·handle·unequal·rows·and·columns.\xd
28 ·······························During·a·factorization,·a·front·has·to·take·part·in·four·distinct·operations.\xd28 ·······························During·a·factorization,·a·front·has·to·take·part·in·four·distinct·operations.\xd
29 ·······································································································1\xd29 ·······································································································1\xd
30 ····························2································································Chv·:·DRAFT·January·15,·2021\xd30 ····························2·······························································Chv·:·DRAFT·February·18,·2022\xd
31 ··································1.·Assemble·entries·from·the·original·matrix·(or·matrix·pencil).·(See·the·Chv·addChevron()\xd31 ··································1.·Assemble·entries·from·the·original·matrix·(or·matrix·pencil).·(See·the·Chv·addChevron()\xd
32 ·······································method.)\xd32 ·······································method.)\xd
33 ··································2.·Accumulate·updates·from·descendant·fronts.·(See·the·Chv·update{S,H,N}()·methods.)\xd33 ··································2.·Accumulate·updates·from·descendant·fronts.·(See·the·Chv·update{S,H,N}()·methods.)\xd
34 ··································3.·Assembleanypostponeddatafromitschildrenfronts.·(SeetheChv·assemblePostponedData()\xd34 ··································3.·Assembleanypostponeddatafromitschildrenfronts.·(SeetheChv·assemblePostponedData()\xd
35 ·······································method.)\xd35 ·······································method.)\xd
36 ··································4.·Computethefactorization·ofthecompletely·assembledfront.·(SeetheChv·factor()method.)\xd36 ··································4.·Computethefactorization·ofthecompletely·assembledfront.·(SeetheChv·factor()method.)\xd
37 ···································The·implementor·of·a·front·object·has·a·great·deal·of·freedom·to·design·the·underlying·data\xd37 ···································The·implementor·of·a·front·object·has·a·great·deal·of·freedom·to·design·the·underlying·data\xd
Offset 65, 15 lines modifiedOffset 65, 15 lines modified
65 ····························defineitsrowsandcolumns.·ForasymmetricorHermitianmatrix,·weonlystorethecolumnindices.\xd65 ····························defineitsrowsandcolumns.·ForasymmetricorHermitianmatrix,·weonlystorethecolumnindices.\xd
66 ····························For·a·nonsymmetric·matrix,·we·store·the·both·the·row·and·column·indices.·This·second·case·may\xd66 ····························For·a·nonsymmetric·matrix,·we·store·the·both·the·row·and·column·indices.·This·second·case·may\xd
67 ····························seem·unnecessary,·since·we·assume·that·the·larger·global·matrix·has·symmetric·structure.·However,\xd67 ····························seem·unnecessary,·since·we·assume·that·the·larger·global·matrix·has·symmetric·structure.·However,\xd
68 ····························during·a·factorization·with·pivoting·enabled,·a·pivot·element·may·be·chosen·from·anywhere·in·the\xd68 ····························during·a·factorization·with·pivoting·enabled,·a·pivot·element·may·be·chosen·from·anywhere·in·the\xd
69 ····························(1,1)·block,·so·the·row·indices·and·column·indices·may·no·longer·be·identical.\xd69 ····························(1,1)·block,·so·the·row·indices·and·column·indices·may·no·longer·be·identical.\xd
70 ···································AChv·object·is·inherently·a·serial,·single·threaded·object,·meaning·it·is·designed·so·that·only\xd70 ···································AChv·object·is·inherently·a·serial,·single·threaded·object,·meaning·it·is·designed·so·that·only\xd
71 ····························one·thread·or·process·“owns”·or·operates·on·a·particular·Chv·object.·A·Chv·object·is·an·“atom”\xd71 ····························one·thread·or·process·“owns”·or·operates·on·a·particular·Chv·object.·A·Chv·object·is·an·“atom”\xd
72 ······································Chv·:·DRAFT··January·15,·2021····················3\xd72 ······································Chv·:·DRAFT···February·18,·2022···················3\xd
73 ············of·communication.·It·stores·postponed·rows·and·columns·to·be·assembled·in·a·parent·front.·It\xd73 ············of·communication.·It·stores·postponed·rows·and·columns·to·be·assembled·in·a·parent·front.·It\xd
74 ············might·have·to·be·written·to·and·read·from·a·file·in·an·out-of-core·implementation.·In·a·distributed\xd74 ············might·have·to·be·written·to·and·read·from·a·file·in·an·out-of-core·implementation.·In·a·distributed\xd
75 ············environment,·it·is·communicated·between·processes.·For·these·reasons,·we·designed·the·object·so\xd75 ············environment,·it·is·communicated·between·processes.·For·these·reasons,·we·designed·the·object·so\xd
76 ············that·its·data·(the·scalars·that·describe·its·dimensions,·id·and·type,·the·row·and·column·indices,\xd76 ············that·its·data·(the·scalars·that·describe·its·dimensions,·id·and·type,·the·row·and·column·indices,\xd
77 ············and·its·entries)·are·found·in·contiguous·storage·managed·by·a·DV·object.·A·file·operation·can·be\xd77 ············and·its·entries)·are·found·in·contiguous·storage·managed·by·a·DV·object.·A·file·operation·can·be\xd
78 ············done·with·a·single·read·or·write,·a·message·can·be·sent·without·packing·and·unpacking·data,·or\xd78 ············done·with·a·single·read·or·write,·a·message·can·be·sent·without·packing·and·unpacking·data,·or\xd
79 ············defining·a·new·datatype.·Managing·working·storage·for·a·number·of·Chv·objects·is·now·simpler.\xd79 ············defining·a·new·datatype.·Managing·working·storage·for·a·number·of·Chv·objects·is·now·simpler.\xd
Offset 100, 15 lines modifiedOffset 100, 15 lines modified
100 ················int·symflag·:·symmetry·flag\xd100 ················int·symflag·:·symmetry·flag\xd
101 ····················SPOOLES·SYMMETRIC·=⇒·symmetric·entries\xd101 ····················SPOOLES·SYMMETRIC·=⇒·symmetric·entries\xd
102 ····················SPOOLES·HERMITIAN·=⇒·Hermitian·entries\xd102 ····················SPOOLES·HERMITIAN·=⇒·Hermitian·entries\xd
103 ····················SPOOLES·NONSYMMETRIC·=⇒·nonsymmetric·entries\xd103 ····················SPOOLES·NONSYMMETRIC·=⇒·nonsymmetric·entries\xd
104 ················int·*rowind·:·pointer·to·the·base·address·of·the·int·vector·that·contains·row·indices.\xd104 ················int·*rowind·:·pointer·to·the·base·address·of·the·int·vector·that·contains·row·indices.\xd
105 ················int·*colind·:·pointer·to·the·base·address·of·the·int·vector·that·contains·column·indices.\xd105 ················int·*colind·:·pointer·to·the·base·address·of·the·int·vector·that·contains·column·indices.\xd
106 ················double·*entries:·pointer·to·the·base·address·of·the·double·vector·that·contains·the·entries.\xd106 ················double·*entries:·pointer·to·the·base·address·of·the·double·vector·that·contains·the·entries.\xd
107 ··············4·····························Chv·:·DRAFT·January·15,·2021\xd107 ··············4····························Chv·:·DRAFT·February·18,·2022\xd
108 ··················DV·wrkDV·:·object·that·manages·the·owned·working·storage.\xd108 ··················DV·wrkDV·:·object·that·manages·the·owned·working·storage.\xd
109 ··················Chv·*next·:·link·to·a·next·object·in·a·singly·linked·list.\xd109 ··················Chv·*next·:·link·to·a·next·object·in·a·singly·linked·list.\xd
110 ·················One·can·query·the·type·and·symmetry·of·the·object·using·these·simple·macros.\xd110 ·················One·can·query·the·type·and·symmetry·of·the·object·using·these·simple·macros.\xd
111 ··················CHV·IS·REAL(chv)·is·1·if·chv·has·real·entries·and·0·otherwise.\xd111 ··················CHV·IS·REAL(chv)·is·1·if·chv·has·real·entries·and·0·otherwise.\xd
112 ··················CHV·IS·COMPLEX(chv)·is·1·if·chv·has·complex·entries·and·0·otherwise.\xd112 ··················CHV·IS·COMPLEX(chv)·is·1·if·chv·has·complex·entries·and·0·otherwise.\xd
113 ··················CHV·IS·SYMMETRIC(chv)·is·1·if·chv·is·symmetric·and·0·otherwise.\xd113 ··················CHV·IS·SYMMETRIC(chv)·is·1·if·chv·is·symmetric·and·0·otherwise.\xd
114 ··················CHV·IS·HERMITIAN(chv)·is·1·if·chv·is·Hermitian·and·0·otherwise.\xd114 ··················CHV·IS·HERMITIAN(chv)·is·1·if·chv·is·Hermitian·and·0·otherwise.\xd
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ··················This·method·clears·the·object·and·free’s·any·owned·data·by·invoking·the·clearData()\xd131 ··················This·method·clears·the·object·and·free’s·any·owned·data·by·invoking·the·clearData()\xd
132 ··················methods·for·its·internal·DV·object.·There·is·a·concluding·call·to·Chv·setDefaultFields().\xd132 ··················methods·for·its·internal·DV·object.·There·is·a·concluding·call·to·Chv·setDefaultFields().\xd
133 ··················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd133 ··················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
134 ················4.·void·Chv_free·(·Chv·*chv·)·;\xd134 ················4.·void·Chv_free·(·Chv·*chv·)·;\xd
135 ··················This·method·releases·any·storage·by·a·call·to·Chv·clearData()·and·then·free·the·space·for\xd135 ··················This·method·releases·any·storage·by·a·call·to·Chv·clearData()·and·then·free·the·space·for\xd
136 ··················chv.\xd136 ··················chv.\xd
137 ··················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd137 ··················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
138 ··············································Chv·:·DRAFT······January·15,·2021···························5\xd138 ··············································Chv·:·DRAFT·····February·18,·2022···························5\xd
139 ···············1.2.2···Instance·methods\xd139 ···············1.2.2···Instance·methods\xd
140 ·················1.·int·Chv_id·(·Chv·*chv·)·;\xd140 ·················1.·int·Chv_id·(·Chv·*chv·)·;\xd
141 ····················This·method·returns·the·id·of·the·object.\xd141 ····················This·method·returns·the·id·of·the·object.\xd
142 ····················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd142 ····················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
143 ·················2.·int·Chv_type·(·Chv·*chv·)·;\xd143 ·················2.·int·Chv_type·(·Chv·*chv·)·;\xd
144 ····················This·method·returns·the·type·of·the·object.\xd144 ····················This·method·returns·the·type·of·the·object.\xd
145 ························SPOOLES·REAL·=⇒·real·entries\xd145 ························SPOOLES·REAL·=⇒·real·entries\xd
Offset 167, 15 lines modifiedOffset 167, 15 lines modified
167 ····················Error·checking:·If·chv,·pncol·or·pcolind·is·NULL,·an·error·message·is·printed·and·zero·is\xd167 ····················Error·checking:·If·chv,·pncol·or·pcolind·is·NULL,·an·error·message·is·printed·and·zero·is\xd
168 ····················returned.\xd168 ····················returned.\xd
169 ·················7.·int···Chv_nent·(·Chv·*chv·)·;\xd169 ·················7.·int···Chv_nent·(·Chv·*chv·)·;\xd
170 ····················This·method·returns·number·of·matrix·entries·that·the·object·contains.·Note,·for·a·complex\xd170 ····················This·method·returns·number·of·matrix·entries·that·the·object·contains.·Note,·for·a·complex\xd
171 ····················chevron,·this·is·the·number·of·double·precision·complex·entries,·equal·to·one·half·the·number\xd171 ····················chevron,·this·is·the·number·of·double·precision·complex·entries,·equal·to·one·half·the·number\xd
172 ····················of·double·precision·entries·that·are·stored.\xd172 ····················of·double·precision·entries·that·are·stored.\xd
173 ····················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd173 ····················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
174 ··············6·······························Chv·:·DRAFT·January·15,·2021\xd174 ··············6······························Chv·:·DRAFT·February·18,·2022\xd
175 ·················8.·double·*·Chv_entries·(·Chv·*chv·)·;\xd175 ·················8.·double·*·Chv_entries·(·Chv·*chv·)·;\xd
176 ···················This·method·returns·the·entries·field·of·the·object,·a·pointer·to·the·base·location·of·the\xd176 ···················This·method·returns·the·entries·field·of·the·object,·a·pointer·to·the·base·location·of·the\xd
177 ···················double·precision·array·that·stores·the·complex·data.\xd177 ···················double·precision·array·that·stores·the·complex·data.\xd
178 ···················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd178 ···················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
179 ·················9.·double·*·Chv_diagLocation·(·Chv·*chv,·int·ichv·)·;\xd179 ·················9.·double·*·Chv_diagLocation·(·Chv·*chv,·int·ichv·)·;\xd
180 ···················This·method·returns·a·pointer·to·the·address·of·the·entry·in·the·ichv’th·diagonal·location.\xd180 ···················This·method·returns·a·pointer·to·the·address·of·the·entry·in·the·ichv’th·diagonal·location.\xd
181 ···················For·a·real·chevron,·to·find·the·entry·k·places·to·the·right·of·the·diagonal·entry,·add·k·to·the\xd181 ···················For·a·real·chevron,·to·find·the·entry·k·places·to·the·right·of·the·diagonal·entry,·add·k·to·the\xd
Offset 205, 15 lines modifiedOffset 205, 15 lines modified
205 ················14.·void··Chv_complexEntry·(·Chv·*chv,·int·irow,·int·jcol,\xd205 ················14.·void··Chv_complexEntry·(·Chv·*chv,·int·irow,·int·jcol,\xd
206 ··············································double·*pReal,·double·*pImag·)·;\xd206 ··············································double·*pReal,·double·*pImag·)·;\xd
207 ···················This·method·fills·*pReal·with·the·real·part·and·*pImag·with·the·imaginary·part·of·the·the\xd207 ···················This·method·fills·*pReal·with·the·real·part·and·*pImag·with·the·imaginary·part·of·the·the\xd
208 ···················entry·in·row·irow·and·column·jcol.·Note,·irow·and·jcol·are·local·indices,·i.e.,·0··irow·<\xd208 ···················entry·in·row·irow·and·column·jcol.·Note,·irow·and·jcol·are·local·indices,·i.e.,·0··irow·<\xd
209 ···················nD+nLand0≤jcol<nD+nU.\xd209 ···················nD+nLand0≤jcol<nD+nU.\xd
210 ···················Error·checking:·If·chv,·pReal·or·pImag·is·NULL,·or·if·irow·or·jcol·is·out·of·range,·an·error\xd210 ···················Error·checking:·If·chv,·pReal·or·pImag·is·NULL,·or·if·irow·or·jcol·is·out·of·range,·an·error\xd
211 ···················message·is·printed·and·the·program·exits.\xd211 ···················message·is·printed·and·the·program·exits.\xd
212 ·············································Chv·:·DRAFT····January·15,·2021··························7\xd212 ············································Chv·:·DRAFT·····February·18,·2022·························7\xd
213 ················15.·Chv_locationOfComplexEntry·(·Chv·*chv,·int·irow,·int·jcol,\xd213 ················15.·Chv_locationOfComplexEntry·(·Chv·*chv,·int·irow,·int·jcol,\xd
214 ···················································double·**ppReal,·double·**ppImag·)·;\xd214 ···················································double·**ppReal,·double·**ppImag·)·;\xd
215 ···················This·method·fills·*ppReal·with·a·pointer·to·the·real·part·and·*ppImag·with·a·pointer·to·the\xd215 ···················This·method·fills·*ppReal·with·a·pointer·to·the·real·part·and·*ppImag·with·a·pointer·to·the\xd
216 ···················imaginary·part·of·the·entry·in·row·irow·and·column·jcol.·Note,·irow·and·jcol·are·local\xd216 ···················imaginary·part·of·the·entry·in·row·irow·and·column·jcol.·Note,·irow·and·jcol·are·local\xd
217 ···················indices,·i.e.,·0··irow·<·nD+nL·and·0··jcol·<·nD+nU.\xd217 ···················indices,·i.e.,·0··irow·<·nD+nL·and·0··jcol·<·nD+nU.\xd
218 ···················Error·checking:·If·chv,·ppReal·or·ppImag·is·NULL,·or·if·irow·or·jcol·is·out·of·range,·an·error\xd218 ···················Error·checking:·If·chv,·ppReal·or·ppImag·is·NULL,·or·if·irow·or·jcol·is·out·of·range,·an·error\xd
219 ···················message·is·printed·and·the·program·exits.\xd219 ···················message·is·printed·and·the·program·exits.\xd
Offset 242, 15 lines modifiedOffset 242, 15 lines modified
242 ···················is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd242 ···················is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
243 ·················3.·void·Chv_initFromBuffer·(·Chv·*chv·)·;\xd243 ·················3.·void·Chv_initFromBuffer·(·Chv·*chv·)·;\xd
244 ···················This·initializer·method·is·used·to·set·the·scalar·and·pointer·fields·when·the·object’s·buffer·is\xd244 ···················This·initializer·method·is·used·to·set·the·scalar·and·pointer·fields·when·the·object’s·buffer·is\xd
245 ···················already·preloaded.·This·functionality·is·used·in·the·MPI·factorization·where·a·Chv·object·is\xd245 ···················already·preloaded.·This·functionality·is·used·in·the·MPI·factorization·where·a·Chv·object·is\xd
246 ···················sent·and·received,·more·precisely,·the·workspace·buffer·owned·by·the·Chv·object·is·sent·and\xd246 ···················sent·and·received,·more·precisely,·the·workspace·buffer·owned·by·the·Chv·object·is·sent·and\xd
247 ···················received.\xd247 ···················received.\xd
248 ···················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd248 ···················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
249 ···············8·································Chv·:·DRAFT·January·15,·2021\xd249 ···············8································Chv·:·DRAFT·February·18,·2022\xd
250 ···············1.2.4···Search·methods\xd250 ···············1.2.4···Search·methods\xd
251 ··················1.·int·Chv_maxabsInDiagonal11·(·Chv·*chv,·int·mark[],·int·tag,·double·*pmaxval·)·;\xd251 ··················1.·int·Chv_maxabsInDiagonal11·(·Chv·*chv,·int·mark[],·int·tag,·double·*pmaxval·)·;\xd
252 ·····················This·method·returns·the·location·of·the·first·tagged·element·with·the·largest·magnitude·in\xd252 ·····················This·method·returns·the·location·of·the·first·tagged·element·with·the·largest·magnitude·in\xd
253 ·····················the·diagonal·of·the·(1,1)·block.·Element·jj·must·have·mark[jj]·=·tag·to·be·eligible.·Its\xd253 ·····················the·diagonal·of·the·(1,1)·block.·Element·jj·must·have·mark[jj]·=·tag·to·be·eligible.·Its\xd
254 ·····················magnitude·is·returned·in·*pmaxval.·Note,·if·the·chevron·is·complex,·the·location·is·in·terms\xd254 ·····················magnitude·is·returned·in·*pmaxval.·Note,·if·the·chevron·is·complex,·the·location·is·in·terms\xd
255 ·····················of·the·complex·entries,·not·in·the·real·entries,·i.e.,·if·k·=·Chv·maxabsDiagonal11(chv,...),\xd255 ·····················of·the·complex·entries,·not·in·the·real·entries,·i.e.,·if·k·=·Chv·maxabsDiagonal11(chv,...),\xd
256 ·····················then·the·complex·entry·is·found·in·chv->entries[2*kk:2*kk+1].\xd256 ·····················then·the·complex·entry·is·found·in·chv->entries[2*kk:2*kk+1].\xd
Offset 281, 15 lines modifiedOffset 281, 15 lines modified
281 ·····················in·*pmaxval.·Note,·if·the·chevron·is·complex,·the·location·is·in·terms·of·the·complex·entries,\xd281 ·····················in·*pmaxval.·Note,·if·the·chevron·is·complex,·the·location·is·in·terms·of·the·complex·entries,\xd
282 ·····················not·in·the·real·entries,·i.e.,·if·k·=·Chv·maxabsRow(chv,...),·then·the·complex·entry·is·found\xd282 ·····················not·in·the·real·entries,·i.e.,·if·k·=·Chv·maxabsRow(chv,...),·then·the·complex·entry·is·found\xd
283 ·····················in·chv->entries[2*kk:2*kk+1].\xd283 ·····················in·chv->entries[2*kk:2*kk+1].\xd
284 ·····················Error·checking:·If·chv·is·NULL·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and\xd284 ·····················Error·checking:·If·chv·is·NULL·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and\xd
285 ·····················the·program·exits.\xd285 ·····················the·program·exits.\xd
286 ··················5.·int·Chv_maxabsInColumn·(·Chv·*chv,·int·jcol,·int·rowmark[],\xd286 ··················5.·int·Chv_maxabsInColumn·(·Chv·*chv,·int·jcol,·int·rowmark[],\xd
287 ··················································int·tag,·double·*pmaxval·)·;\xd287 ··················································int·tag,·double·*pmaxval·)·;\xd
288 ···············································Chv·:·DRAFT······January·15,·2021····························9\xd288 ···············································Chv·:·DRAFT·····February·18,·2022····························9\xd
289 ····················This·method·returns·the·location·of·the·first·element·with·the·largest·magnitude·in·column\xd289 ····················This·method·returns·the·location·of·the·first·element·with·the·largest·magnitude·in·column\xd
290 ····················jcol.·Element·jj·must·have·rowmark[jj]·=·tag·to·be·eligible.·Its·magnitude·is·returned\xd290 ····················jcol.·Element·jj·must·have·rowmark[jj]·=·tag·to·be·eligible.·Its·magnitude·is·returned\xd
291 ····················in·*pmaxval.·Note,·if·the·chevron·is·complex,·the·location·is·in·terms·of·the·complex·entries,\xd291 ····················in·*pmaxval.·Note,·if·the·chevron·is·complex,·the·location·is·in·terms·of·the·complex·entries,\xd
292 ····················not·in·the·real·entries,·i.e.,·if·k·=·Chv·maxabsColumn11(chv,...),·then·the·complex·entry\xd292 ····················not·in·the·real·entries,·i.e.,·if·k·=·Chv·maxabsColumn11(chv,...),·then·the·complex·entry\xd
293 ····················is·found·in·chv->entries[2*kk:2*kk+1].\xd293 ····················is·found·in·chv->entries[2*kk:2*kk+1].\xd
294 ····················Error·checking:·If·chv·is·NULL·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and\xd294 ····················Error·checking:·If·chv·is·NULL·or·irow·is·not·in·[0,n1-1],·an·error·message·is·printed·and\xd
295 ····················the·program·exits.\xd295 ····················the·program·exits.\xd
Max diff block lines reached; 19823/31974 bytes (62.00%) of diff not shown.
22.7 KB
./usr/share/doc/spooles-doc/ChvList.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·1833181 gzip·compressed·data,·max·compression,·from·Unix,·original·size·183486
22.5 KB
ChvList.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·612·7927 %%BoundingBox:·0·0·612·792
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10
9 %%DocumentPaperSizes:·Letter9 %%DocumentPaperSizes:·Letter
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·ChvList.ps12 %DVIPSCommandLine:·dvips·main·-o·ChvList.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1060, 19 lines modifiedOffset 1060, 20 lines modified
1060 end·readonly·def1060 end·readonly·def
1061 /Encoding·256·array1061 /Encoding·256·array
1062 0·1·255·{1·index·exch·/.notdef·put}·for1062 0·1·255·{1·index·exch·/.notdef·put}·for
1063 dup·44·/comma·put1063 dup·44·/comma·put
1064 dup·48·/zero·put1064 dup·48·/zero·put
1065 dup·49·/one·put1065 dup·49·/one·put
1066 dup·50·/two·put1066 dup·50·/two·put
1067 dup·53·/five·put1067 dup·56·/eight·put
1068 dup·58·/colon·put1068 dup·58·/colon·put
1069 dup·74·/J·put1069 dup·70·/F·put
1070 dup·97·/a·put1070 dup·97·/a·put
 1071 dup·98·/b·put
1071 dup·110·/n·put1072 dup·101·/e·put
1072 dup·114·/r·put1073 dup·114·/r·put
1073 dup·117·/u·put1074 dup·117·/u·put
1074 dup·121·/y·put1075 dup·121·/y·put
1075 readonly·def1076 readonly·def
1076 currentdict·end1077 currentdict·end
1077 currentfile·eexec1078 currentfile·eexec
1078 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71079 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1256, 84 lines modifiedOffset 1257, 86 lines modified
1256 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1257 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1257 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821258 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1258 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1259 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1259 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51260 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1260 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051261 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1261 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051262 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1262 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671263 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1263 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041264 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1264 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1265 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1266 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1267 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1268 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1269 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1270 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1271 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1272 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1273 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1274 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1275 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1276 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1277 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1278 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1279 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1280 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1281 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1282 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1283 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1284 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1285 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1286 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1287 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1288 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1289 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1290 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1291 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1292 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1293 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1294 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1295 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1296 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1297 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1298 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1299 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1300 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1301 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1302 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1303 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1304 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1305 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1306 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1307 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1308 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1309 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1310 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1311 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1312 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1313 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1314 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1315 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1316 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1317 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1318 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1319 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1320 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1321 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1322 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1323 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1324 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1325 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1326 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1327 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1328 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1329 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1330 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1331 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1332 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51265 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1266 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1267 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1268 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1269 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1270 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1271 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1272 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1273 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1274 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1275 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1276 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1277 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1278 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 7544/18695 bytes (40.35%) of diff not shown.
4.2 KB
ps2ascii {}
    
Offset 22, 15 lines modifiedOffset 22, 15 lines modified
22 ·······The·first·two·operations·are·queries,·and·can·be·done·without·locking·the·list.·The·third·operation\xd22 ·······The·first·two·operations·are·queries,·and·can·be·done·without·locking·the·list.·The·third·operation\xd
23 ·······needs·a·lock·only·when·two·or·more·threads·will·be·inserting·objects·into·the·list.·The·fourth\xd23 ·······needs·a·lock·only·when·two·or·more·threads·will·be·inserting·objects·into·the·list.·The·fourth\xd
24 ·······operation·requires·a·lock·only·when·one·thread·will·add·an·object·while·another·thread·removes\xd24 ·······operation·requires·a·lock·only·when·one·thread·will·add·an·object·while·another·thread·removes\xd
25 ·······the·object·and·the·incoming·count·is·not·yet·zero.\xd25 ·······the·object·and·the·incoming·count·is·not·yet·zero.\xd
26 ·········Having·a·lock·associated·with·a·ChvList·object·is·optional,·for·example,·it·is·not·needed·during\xd26 ·········Having·a·lock·associated·with·a·ChvList·object·is·optional,·for·example,·it·is·not·needed·during\xd
27 ·······a·serial·factorization·nor·a·MPI·factorization.·In·the·latter·case·there·is·one·ChvList·per·process.\xd27 ·······a·serial·factorization·nor·a·MPI·factorization.·In·the·latter·case·there·is·one·ChvList·per·process.\xd
28 ·····························1\xd28 ·····························1\xd
29 ··············2···························ChvList·:·DRAFT·January·15,·2021\xd29 ··············2··························ChvList·:·DRAFT·February·18,·2022\xd
30 ··············For·a·multithreaded·factorization·there·is·one·ChvList·object·that·is·shared·by·all·threads.·The\xd30 ··············For·a·multithreaded·factorization·there·is·one·ChvList·object·that·is·shared·by·all·threads.·The\xd
31 ··············mutualexclusion·lock·that·is·(optionally)·embedded·in·the·ChvListobject·is·a·Lock·object·from·this\xd31 ··············mutualexclusion·lock·that·is·(optionally)·embedded·in·the·ChvListobject·is·a·Lock·object·from·this\xd
32 ··············library.·It·is·inside·the·Lock·object·that·we·have·a·mutual·exclusion·lock.·Presently·we·support·the\xd32 ··············library.·It·is·inside·the·Lock·object·that·we·have·a·mutual·exclusion·lock.·Presently·we·support·the\xd
33 ··············Solaris·and·POSIX·thread·packages.·Porting·the·multithreaded·codes·to·another·platform·should\xd33 ··············Solaris·and·POSIX·thread·packages.·Porting·the·multithreaded·codes·to·another·platform·should\xd
34 ··············be·simple·if·the·POSIX·thread·package·is·present.·Another·type·of·thread·package·will·require\xd34 ··············be·simple·if·the·POSIX·thread·package·is·present.·Another·type·of·thread·package·will·require\xd
35 ··············some·modifications·to·the·Lock·object,·but·none·to·the·ChvList·objects.\xd35 ··············some·modifications·to·the·Lock·object,·but·none·to·the·ChvList·objects.\xd
36 ··············1.1···Data·Structure\xd36 ··············1.1···Data·Structure\xd
Offset 52, 15 lines modifiedOffset 52, 15 lines modified
52 ················1.·ChvList·*·ChvList_new·(·void·)·;\xd52 ················1.·ChvList·*·ChvList_new·(·void·)·;\xd
53 ··················This·method·simply·allocates·storage·for·the·ChvList·structure·and·then·sets·the·default\xd53 ··················This·method·simply·allocates·storage·for·the·ChvList·structure·and·then·sets·the·default\xd
54 ··················fields·by·a·call·to·ChvList·setDefaultFields().\xd54 ··················fields·by·a·call·to·ChvList·setDefaultFields().\xd
55 ················2.·void·ChvList_setDefaultFields·(·ChvList·*list·)·;\xd55 ················2.·void·ChvList_setDefaultFields·(·ChvList·*list·)·;\xd
56 ··················The·structure’s·fields·are·set·to·default·values:·nlist·and·nlocks·set·to·zero,·and·heads,\xd56 ··················The·structure’s·fields·are·set·to·default·values:·nlist·and·nlocks·set·to·zero,·and·heads,\xd
57 ··················counts,·lock·and·flags·are·set·to·NULL·.\xd57 ··················counts,·lock·and·flags·are·set·to·NULL·.\xd
58 ··················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd58 ··················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
59 ·····································ChvList·:·DRAFT···January·15,·2021···················3\xd59 ·····································ChvList·:·DRAFT··February·18,·2022···················3\xd
60 ···············3.·void·ChvList_clearData·(·ChvList·*list·)·;\xd60 ···············3.·void·ChvList_clearData·(·ChvList·*list·)·;\xd
61 ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·Chv·free()·for·each\xd61 ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·Chv·free()·for·each\xd
62 ·················object·on·the·free·list.·If·heads·is·not·NULL,·it·is·free’d.·If·counts·is·not·NULL,·it·is·free’d\xd62 ·················object·on·the·free·list.·If·heads·is·not·NULL,·it·is·free’d.·If·counts·is·not·NULL,·it·is·free’d\xd
63 ·················via·a·call·to·IVfree().·If·flags·is·not·NULL,·it·is·free’d·via·a·call·to·CVfree().·If·the\xd63 ·················via·a·call·to·IVfree().·If·flags·is·not·NULL,·it·is·free’d·via·a·call·to·CVfree().·If·the\xd
64 ·················lock·is·not·NULL,·it·is·destroyed·via·a·call·to·Lock·free().·There·is·a·concluding·call·to\xd64 ·················lock·is·not·NULL,·it·is·destroyed·via·a·call·to·Lock·free().·There·is·a·concluding·call·to\xd
65 ·················ChvList·setDefaultFields().\xd65 ·················ChvList·setDefaultFields().\xd
66 ·················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd66 ·················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
Offset 87, 15 lines modifiedOffset 87, 15 lines modified
87 ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd87 ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd
88 ·················is·printed·and·zero·is·returned.\xd88 ·················is·printed·and·zero·is·returned.\xd
89 ···············2.·int·ChvList_isCountZero·(·ChvList·*list,·int·ilist·)·;\xd89 ···············2.·int·ChvList_isCountZero·(·ChvList·*list,·int·ilist·)·;\xd
90 ·················If·counts·is·NULL,·or·if·counts[ilist]·equal·to·zero,·the·method·returns·1.·Otherwise,·the\xd90 ·················If·counts·is·NULL,·or·if·counts[ilist]·equal·to·zero,·the·method·returns·1.·Otherwise,·the\xd
91 ·················method·returns·0.\xd91 ·················method·returns·0.\xd
92 ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd92 ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd
93 ·················is·printed·and·zero·is·returned.\xd93 ·················is·printed·and·zero·is·returned.\xd
94 ··············4···························ChvList·:·DRAFT·January·15,·2021\xd94 ··············4··························ChvList·:·DRAFT·February·18,·2022\xd
95 ················3.·Chv·*·ChvList_getList·(·ChvList·*list,·int·ilist·)·;\xd95 ················3.·Chv·*·ChvList_getList·(·ChvList·*list,·int·ilist·)·;\xd
96 ··················If·list·ilist·is·empty,·the·method·returns·NULL.·Otherwise,·if·the·list·needs·to·be·locked,·the\xd96 ··················If·list·ilist·is·empty,·the·method·returns·NULL.·Otherwise,·if·the·list·needs·to·be·locked,·the\xd
97 ··················lock·is·locked.·The·head·of·the·list·is·saved·to·a·pointer·and·then·the·head·is·set·to·NULL.\xd97 ··················lock·is·locked.·The·head·of·the·list·is·saved·to·a·pointer·and·then·the·head·is·set·to·NULL.\xd
98 ··················If·the·list·was·locked,·the·number·of·locks·is·incremented·and·the·lock·unlocked.·The·saved\xd98 ··················If·the·list·was·locked,·the·number·of·locks·is·incremented·and·the·lock·unlocked.·The·saved\xd
99 ··················pointer·is·returned.\xd99 ··················pointer·is·returned.\xd
100 ··················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd100 ··················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd
101 ··················is·printed·and·zero·is·returned.\xd101 ··················is·printed·and·zero·is·returned.\xd
22.9 KB
./usr/share/doc/spooles-doc/ChvManager.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·1845831 gzip·compressed·data,·max·compression,·from·Unix,·original·size·184751
22.7 KB
ChvManager.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·612·7927 %%BoundingBox:·0·0·612·792
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMSL108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMSL10
9 %%DocumentPaperSizes:·Letter9 %%DocumentPaperSizes:·Letter
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·ChvManager.ps12 %DVIPSCommandLine:·dvips·main·-o·ChvManager.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 699, 19 lines modifiedOffset 699, 20 lines modified
699 end·readonly·def699 end·readonly·def
700 /Encoding·256·array700 /Encoding·256·array
701 0·1·255·{1·index·exch·/.notdef·put}·for701 0·1·255·{1·index·exch·/.notdef·put}·for
702 dup·44·/comma·put702 dup·44·/comma·put
703 dup·48·/zero·put703 dup·48·/zero·put
704 dup·49·/one·put704 dup·49·/one·put
705 dup·50·/two·put705 dup·50·/two·put
706 dup·53·/five·put706 dup·56·/eight·put
707 dup·58·/colon·put707 dup·58·/colon·put
708 dup·74·/J·put708 dup·70·/F·put
709 dup·97·/a·put709 dup·97·/a·put
 710 dup·98·/b·put
710 dup·110·/n·put711 dup·101·/e·put
711 dup·114·/r·put712 dup·114·/r·put
712 dup·117·/u·put713 dup·117·/u·put
713 dup·121·/y·put714 dup·121·/y·put
714 readonly·def715 readonly·def
715 currentdict·end716 currentdict·end
716 currentfile·eexec717 currentfile·eexec
717 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7718 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 895, 84 lines modifiedOffset 896, 86 lines modified
895 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A896 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
896 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082897 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
897 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E898 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
898 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5899 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
899 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05900 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
900 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05901 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
901 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767902 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
902 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704903 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
903 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
904 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
905 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
906 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
907 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
908 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
909 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
910 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
911 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
912 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
913 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
914 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
915 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
916 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
917 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
918 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
919 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
920 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
921 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
922 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
923 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
924 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
925 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
926 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
927 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
928 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
929 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
930 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
931 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
932 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
933 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
934 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
935 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
936 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
937 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
938 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
939 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
940 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
941 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
942 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
943 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
944 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
945 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
946 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
947 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
948 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
949 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
950 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
951 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
952 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
953 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
954 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
955 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
956 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
957 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
958 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
959 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
960 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
961 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
962 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
963 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
964 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
965 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
966 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
967 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
968 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
969 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
970 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
971 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5904 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 905 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 906 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 907 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 908 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 909 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 910 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 911 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 912 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 913 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 914 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 915 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 916 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 917 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 7953/19103 bytes (41.63%) of diff not shown.
3.97 KB
ps2ascii {}
    
Offset 23, 15 lines modifiedOffset 23, 15 lines modified
23 ····················finds·a·smallest·object·of·that·size·or·larger.)·If·there·is·no·object·on·the·free·pool·of·sufficient\xd23 ····················finds·a·smallest·object·of·that·size·or·larger.)·If·there·is·no·object·on·the·free·pool·of·sufficient\xd
24 ····················size,·one·is·created·and·returned.·When·the·user·releases·an·object·to·the·manager,·the·object\xd24 ····················size,·one·is·created·and·returned.·When·the·user·releases·an·object·to·the·manager,·the·object\xd
25 ····················is·placed·on·the·free·pool.\xd25 ····················is·placed·on·the·free·pool.\xd
26 ···············For·the·factorization,·serial,·multithreaded·or·MPI,·we·recommend·using·the·recycling·mode.\xd26 ···············For·the·factorization,·serial,·multithreaded·or·MPI,·we·recommend·using·the·recycling·mode.\xd
27 ··················A·multithreaded·environment·creates·some·difficulties.·Should·there·be·one·manager·object\xd27 ··················A·multithreaded·environment·creates·some·difficulties.·Should·there·be·one·manager·object\xd
28 ···············per·thread,·or·should·all·the·threads·share·one·object?·We·have·chosen·the·latter·course,·but·this\xd28 ···············per·thread,·or·should·all·the·threads·share·one·object?·We·have·chosen·the·latter·course,·but·this\xd
29 ····························································1\xd29 ····························································1\xd
30 ··············2··························DChvList·:·DRAFT·January·15,·2021\xd30 ··············2··························DChvList·:·DRAFT·February·18,·2022\xd
31 ··············requires·that·a·lock·be·present·to·guard·the·critical·section·of·code·where·one·searches·or·adds·an\xd31 ··············requires·that·a·lock·be·present·to·guard·the·critical·section·of·code·where·one·searches·or·adds·an\xd
32 ··············object·to·the·list.·The·lock·we·use·is·a·Lock·object,·and·so·the·ChvManager·code·is·completely\xd32 ··············object·to·the·list.·The·lock·we·use·is·a·Lock·object,·and·so·the·ChvManager·code·is·completely\xd
33 ··············independent·of·the·thread·package.·Porting·to·a·new·system·might·require·some·modification·to\xd33 ··············independent·of·the·thread·package.·Porting·to·a·new·system·might·require·some·modification·to\xd
34 ··············the·Lock,·but·none·to·the·manager·object.\xd34 ··············the·Lock,·but·none·to·the·manager·object.\xd
35 ·················Each·manager·object·keeps·track·of·certain·statistics,·bytes·in·their·workspaces,·the·total\xd35 ·················Each·manager·object·keeps·track·of·certain·statistics,·bytes·in·their·workspaces,·the·total\xd
36 ··············number·of·bytes·requested,·the·number·of·requests·for·a·Chv·objects,·the·number·of·releases,·and\xd36 ··············number·of·bytes·requested,·the·number·of·requests·for·a·Chv·objects,·the·number·of·releases,·and\xd
37 ··············the·number·of·locks·and·unlocks.\xd37 ··············the·number·of·locks·and·unlocks.\xd
Offset 54, 15 lines modifiedOffset 54, 15 lines modified
54 ··············ChvManager·object.\xd54 ··············ChvManager·object.\xd
55 ··············1.2.1··Basic·methods\xd55 ··············1.2.1··Basic·methods\xd
56 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd56 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
57 ··············any·allocated·data,·and·free’ing·the·object.\xd57 ··············any·allocated·data,·and·free’ing·the·object.\xd
58 ················1.·ChvManager·*·ChvManager_new·(·void·)·;\xd58 ················1.·ChvManager·*·ChvManager_new·(·void·)·;\xd
59 ··················This·method·simply·allocates·storage·for·the·ChvManager·structure·and·then·sets·the·default\xd59 ··················This·method·simply·allocates·storage·for·the·ChvManager·structure·and·then·sets·the·default\xd
60 ··················fields·by·a·call·to·ChvManager·setDefaultFields().\xd60 ··················fields·by·a·call·to·ChvManager·setDefaultFields().\xd
61 ·····································DChvList·:·DRAFT··January·15,·2021···················3\xd61 ····································DChvList·:·DRAFT···February·18,·2022··················3\xd
62 ···············2.·void·ChvManager_setDefaultFields·(·ChvManager·*manager·)·;\xd62 ···············2.·void·ChvManager_setDefaultFields·(·ChvManager·*manager·)·;\xd
63 ·················Thestructure’sfieldsaresettodefaultvalues:·mode,nactive,nbytesactive,nbytesrequested,\xd63 ·················Thestructure’sfieldsaresettodefaultvalues:·mode,nactive,nbytesactive,nbytesrequested,\xd
64 ·················nbytesalloc,·nrequests,·nreleases,·nlocks·and·nunlocks·set·to·zero,·and·head·and·lock\xd64 ·················nbytesalloc,·nrequests,·nreleases,·nlocks·and·nunlocks·set·to·zero,·and·head·and·lock\xd
65 ·················are·set·to·NULL·.\xd65 ·················are·set·to·NULL·.\xd
66 ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd66 ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
67 ···············3.·void·ChvManager_clearData·(·ChvManager·*manager·)·;\xd67 ···············3.·void·ChvManager_clearData·(·ChvManager·*manager·)·;\xd
68 ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·Chv·free()·for·each\xd68 ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·Chv·free()·for·each\xd
Offset 89, 15 lines modifiedOffset 89, 15 lines modified
89 ···············2.·void·ChvManager_releaseObject·(·ChvManager·*manager,·Chv·*chv·)·;\xd89 ···············2.·void·ChvManager_releaseObject·(·ChvManager·*manager,·Chv·*chv·)·;\xd
90 ·················This·method·releases·the·chv·instance·into·the·free·pool·of·objects.\xd90 ·················This·method·releases·the·chv·instance·into·the·free·pool·of·objects.\xd
91 ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd91 ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
92 ···············3.·void·ChvManager_releaseListOfObjects·(·ChvManager·*manager,·Chv·*chv·)·;\xd92 ···············3.·void·ChvManager_releaseListOfObjects·(·ChvManager·*manager,·Chv·*chv·)·;\xd
93 ·················This·method·releases·a·list·of·Chv·objects·into·the·free·pool·of·objects.·The·head·of·the·list\xd93 ·················This·method·releases·a·list·of·Chv·objects·into·the·free·pool·of·objects.·The·head·of·the·list\xd
94 ·················is·the·chv·instance.\xd94 ·················is·the·chv·instance.\xd
95 ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd95 ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
96 ··············4··························DChvList·:·DRAFT·January·15,·2021\xd96 ··············4··························DChvList·:·DRAFT·February·18,·2022\xd
97 ··············1.2.4··IO·methods\xd97 ··············1.2.4··IO·methods\xd
98 ················1.·void·ChvManager_writeForHumanEye·(·ChvManager·*manager,·FILE·*fp·)·;\xd98 ················1.·void·ChvManager_writeForHumanEye·(·ChvManager·*manager,·FILE·*fp·)·;\xd
99 ··················This·method·writes·the·statistics·to·a·file·in·user·readable·form.\xd99 ··················This·method·writes·the·statistics·to·a·file·in·user·readable·form.\xd
100 ··················Error·checking:·If·manager·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd100 ··················Error·checking:·If·manager·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
101 ·······Index\xd101 ·······Index\xd
102 ·······ChvManager·clearData(),·3\xd102 ·······ChvManager·clearData(),·3\xd
103 ·······ChvManager·free(),·3\xd103 ·······ChvManager·free(),·3\xd
30.4 KB
./usr/share/doc/spooles-doc/Coords.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2285731 gzip·compressed·data,·max·compression,·from·Unix,·original·size·228750
30.1 KB
Coords.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMSY10·CMR8·CMSL108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMSY10·CMR8·CMSL10
9 %%+·CMTI109 %%+·CMTI10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·Coords.ps13 %DVIPSCommandLine:·dvips·main·-o·Coords.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 540, 19 lines modifiedOffset 540, 20 lines modified
540 end·readonly·def540 end·readonly·def
541 /Encoding·256·array541 /Encoding·256·array
542 0·1·255·{1·index·exch·/.notdef·put}·for542 0·1·255·{1·index·exch·/.notdef·put}·for
543 dup·44·/comma·put543 dup·44·/comma·put
544 dup·48·/zero·put544 dup·48·/zero·put
545 dup·49·/one·put545 dup·49·/one·put
546 dup·50·/two·put546 dup·50·/two·put
547 dup·53·/five·put547 dup·56·/eight·put
548 dup·58·/colon·put548 dup·58·/colon·put
549 dup·74·/J·put549 dup·70·/F·put
550 dup·97·/a·put550 dup·97·/a·put
 551 dup·98·/b·put
551 dup·110·/n·put552 dup·101·/e·put
552 dup·114·/r·put553 dup·114·/r·put
553 dup·117·/u·put554 dup·117·/u·put
554 dup·121·/y·put555 dup·121·/y·put
555 readonly·def556 readonly·def
556 currentdict·end557 currentdict·end
557 currentfile·eexec558 currentfile·eexec
558 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7559 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 736, 84 lines modifiedOffset 737, 86 lines modified
736 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A737 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
737 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082738 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
738 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E739 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
739 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5740 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
740 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05741 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
741 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05742 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
742 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767743 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
743 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704744 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
744 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
745 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
746 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
747 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
748 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
749 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
750 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
751 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
752 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
753 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
754 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
755 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
756 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
757 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
758 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
759 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
760 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
761 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
762 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
763 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
764 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
765 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
766 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
767 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
768 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
769 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
770 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
771 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
772 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
773 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
774 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
775 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
776 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
777 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
778 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
779 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
780 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
781 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
782 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
783 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
784 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
785 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
786 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
787 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
788 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
789 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
790 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
791 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
792 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
793 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
794 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
795 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
796 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
797 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
798 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
799 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
800 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
801 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
802 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
803 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
804 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
805 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
806 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
807 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
808 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
809 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
810 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
811 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
812 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5745 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 746 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 747 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 748 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 749 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 750 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 751 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 752 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 753 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 754 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 755 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 756 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 757 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 758 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 12634/23765 bytes (53.16%) of diff not shown.
6.87 KB
ps2ascii {}
    
Offset 18, 15 lines modifiedOffset 18, 15 lines modified
18 ··················1.2·····Prototypes·and·descriptions·of·Coords·methods\xd18 ··················1.2·····Prototypes·and·descriptions·of·Coords·methods\xd
19 ··················This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd19 ··················This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
20 ··················Coords·object.\xd20 ··················Coords·object.\xd
21 ··················1.2.1····Basic·methods\xd21 ··················1.2.1····Basic·methods\xd
22 ··················As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd22 ··················As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
23 ··················any·allocated·data,·and·free’ing·the·object.\xd23 ··················any·allocated·data,·and·free’ing·the·object.\xd
24 ·········································································1\xd24 ·········································································1\xd
25 ··············2···························Coords·:·DRAFT·January·15,·2021\xd25 ··············2···························Coords·:·DRAFT·February·18,·2022\xd
26 ················1.·Coords·*·Coords_new·(·void·)·;\xd26 ················1.·Coords·*·Coords_new·(·void·)·;\xd
27 ···················This·method·simply·allocates·storage·for·the·Coords·structure·and·then·sets·the·default·fields\xd27 ···················This·method·simply·allocates·storage·for·the·Coords·structure·and·then·sets·the·default·fields\xd
28 ···················by·a·call·to·Coords·setDefaultFields().\xd28 ···················by·a·call·to·Coords·setDefaultFields().\xd
29 ················2.·void·Coords_setDefaultFields·(·Coords·*coords·)·;\xd29 ················2.·void·Coords_setDefaultFields·(·Coords·*coords·)·;\xd
30 ···················This·method·sets·the·structure’s·fields·are·set·to·default·values:·type·=·COORDS·BY·TUPLE,\xd30 ···················This·method·sets·the·structure’s·fields·are·set·to·default·values:·type·=·COORDS·BY·TUPLE,\xd
31 ···················ndim·=·ncoor·=·0·and·coors·=·NULL.\xd31 ···················ndim·=·ncoor·=·0·and·coors·=·NULL.\xd
32 ···················Error·checking:·If·coords·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd32 ···················Error·checking:·If·coords·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
Offset 54, 15 lines modifiedOffset 54, 15 lines modified
54 ···················point,·bbox[2]·=·x-coordinate·of·the·northeast·point,·and·bbox[3]·=·y-coordinate·of·the\xd54 ···················point,·bbox[2]·=·x-coordinate·of·the·northeast·point,·and·bbox[3]·=·y-coordinate·of·the\xd
55 ···················northeast·point.\xd55 ···················northeast·point.\xd
56 ···················Error·checking:·If·coordsbboxisNULL,oriftypeisnotCOORDS·BY·TUPLEorCOORDS·BY·COORD,\xd56 ···················Error·checking:·If·coordsbboxisNULL,oriftypeisnotCOORDS·BY·TUPLEorCOORDS·BY·COORD,\xd
57 ···················or·if·any·of·n1,·n2·or·ncomp·are·nonpositive,·an·error·message·is·printed·and·the·program\xd57 ···················or·if·any·of·n1,·n2·or·ncomp·are·nonpositive,·an·error·message·is·printed·and·the·program\xd
58 ···················exits.\xd58 ···················exits.\xd
59 ················3.·void·Coords_init27P·(·Coords·*coords,·float·bbox[],·int·type,\xd59 ················3.·void·Coords_init27P·(·Coords·*coords,·float·bbox[],·int·type,\xd
60 ·········································int·n1,·int·n2,·int·n3,·int·ncomp·)·;\xd60 ·········································int·n1,·int·n2,·int·n3,·int·ncomp·)·;\xd
61 ···········································Coords·:·DRAFT·····January·15,·2021························3\xd61 ···········································Coords·:·DRAFT····February·18,·2022························3\xd
62 ···················This·method·initializes·a·Coords·object·for·a·27-point·operator·on·a·n1·×n2·×n3·grid·with\xd62 ···················This·method·initializes·a·Coords·object·for·a·27-point·operator·on·a·n1·×n2·×n3·grid·with\xd
63 ···················ncomp·degrees·of·freedom·at·a·grid·point.·The·grid’s·location·is·given·by·the·bounding\xd63 ···················ncomp·degrees·of·freedom·at·a·grid·point.·The·grid’s·location·is·given·by·the·bounding\xd
64 ···················box·vector,·bbox[0]·=·x-coordinate·of·the·southwest·point,·bbox[1]·=·y-coordinate·of·the\xd64 ···················box·vector,·bbox[0]·=·x-coordinate·of·the·southwest·point,·bbox[1]·=·y-coordinate·of·the\xd
65 ···················southwest·point,·bbox[2]·=·z-coordinate·of·the·southwest·point,·bbox[3]·=·x-coordinate\xd65 ···················southwest·point,·bbox[2]·=·z-coordinate·of·the·southwest·point,·bbox[3]·=·x-coordinate\xd
66 ···················of·the·northeast·point,·bbox[4]·=·y-coordinate·of·the·northeast·point,·and·bbox[5]·=·z-\xd66 ···················of·the·northeast·point,·bbox[4]·=·y-coordinate·of·the·northeast·point,·and·bbox[5]·=·z-\xd
67 ···················coordinate·of·the·northeast·point.\xd67 ···················coordinate·of·the·northeast·point.\xd
68 ···················Error·checking:·If·coordsbboxisNULL,oriftypeisnotCOORDS·BY·TUPLEorCOORDS·BY·COORD,\xd68 ···················Error·checking:·If·coordsbboxisNULL,oriftypeisnotCOORDS·BY·TUPLEorCOORDS·BY·COORD,\xd
Offset 94, 15 lines modifiedOffset 94, 15 lines modified
94 ···················does·not·lie·in·the·range·[0,ncoor),·an·error·message·is·printed·and·the·program·exits.\xd94 ···················does·not·lie·in·the·range·[0,ncoor),·an·error·message·is·printed·and·the·program·exits.\xd
95 ·················5.·void·Coords_setValue·(·Coords·*coords,·int·idim,·int·icoor,·float·val·)·;\xd95 ·················5.·void·Coords_setValue·(·Coords·*coords,·int·idim,·int·icoor,·float·val·)·;\xd
96 ···················Thismethodsetsthefloatvalueoftheidim-thcoordinateoftheicoor-thgridpoint.·Forex-\xd96 ···················Thismethodsetsthefloatvalueoftheidim-thcoordinateoftheicoor-thgridpoint.·Forex-\xd
97 ···················ample,·Coords·setValue(coords,·1,·27,·1.2)·sets·x····=1.2,·Coords·setValue(coords,\xd97 ···················ample,·Coords·setValue(coords,·1,·27,·1.2)·sets·x····=1.2,·Coords·setValue(coords,\xd
98 ······································································27\xd98 ······································································27\xd
99 ···················2,·16,·3.3)·sets·y··=3.3,·and·Coords·setValue(coords,·3,·118,·0)·sets·z·····=0.\xd99 ···················2,·16,·3.3)·sets·y··=3.3,·and·Coords·setValue(coords,·3,·118,·0)·sets·z·····=0.\xd
100 ·····································16·····················································118\xd100 ·····································16·····················································118\xd
101 ··············4···························Coords·:·DRAFT·January·15,·2021\xd101 ··············4···························Coords·:·DRAFT·February·18,·2022\xd
102 ···················Error·checking:·If·coords·is·NULL,·or·if·idim·does·not·lie·in·the·range·[1,ndim],·or·if·icoor\xd102 ···················Error·checking:·If·coords·is·NULL,·or·if·idim·does·not·lie·in·the·range·[1,ndim],·or·if·icoor\xd
103 ···················does·not·lie·in·the·range·[0,ncoor),·an·error·message·is·printed·and·the·program·exits.\xd103 ···················does·not·lie·in·the·range·[0,ncoor),·an·error·message·is·printed·and·the·program·exits.\xd
104 ··············1.2.4··IO·methods\xd104 ··············1.2.4··IO·methods\xd
105 ··············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·Coords·object·is·simple:·type,·ndim,\xd105 ··············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·Coords·object·is·simple:·type,·ndim,\xd
106 ··············ncoor·followed·by·the·coors[]·vector.\xd106 ··············ncoor·followed·by·the·coors[]·vector.\xd
107 ················1.·int·Coords_readFromFile·(·Coords·*coords,·char·*filename·)·;\xd107 ················1.·int·Coords_readFromFile·(·Coords·*coords,·char·*filename·)·;\xd
108 ···················This·method·read·a·Coords·object·from·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,·it\xd108 ···················This·method·read·a·Coords·object·from·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,·it\xd
Offset 129, 15 lines modifiedOffset 129, 15 lines modified
129 ···················This·method·writes·a·Coords·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the\xd129 ···················This·method·writes·a·Coords·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the\xd
130 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd130 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd
131 ···················Error·checking:·If·coords·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd131 ···················Error·checking:·If·coords·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
132 ················6.·int·Coords_writeToBinaryFile·(·Coords·*coords,·FILE·*fp·)·;\xd132 ················6.·int·Coords_writeToBinaryFile·(·Coords·*coords,·FILE·*fp·)·;\xd
133 ···················This·method·writes·a·Coords·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd133 ···················This·method·writes·a·Coords·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd
134 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd134 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd
135 ···················Error·checking:·If·coords·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd135 ···················Error·checking:·If·coords·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
136 ·····································Coords·:·DRAFT···January·15,·2021···················5\xd136 ·····································Coords·:·DRAFT··February·18,·2022···················5\xd
137 ···············7.·int·Coords_writeForHumanEye·(·Coords·*coords,·FILE·*fp·)·;\xd137 ···············7.·int·Coords_writeForHumanEye·(·Coords·*coords,·FILE·*fp·)·;\xd
138 ·················This·method·write·the·Coords·object·to·a·file·in·an·easy·to·read·fashion.·The·method\xd138 ·················This·method·write·the·Coords·object·to·a·file·in·an·easy·to·read·fashion.·The·method\xd
139 ·················Coords·writeStats()·is·called·to·write·out·the·header·and·statistics.·The·coors[]·vector·is\xd139 ·················Coords·writeStats()·is·called·to·write·out·the·header·and·statistics.·The·coors[]·vector·is\xd
140 ·················then·printed·out.·The·value·1·is·returned.\xd140 ·················then·printed·out.·The·value·1·is·returned.\xd
141 ·················Error·checking:·If·coords·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd141 ·················Error·checking:·If·coords·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
142 ···············8.·int·Coords_writeStats·(·Coords·*coords,·FILE·*fp·)·;\xd142 ···············8.·int·Coords_writeStats·(·Coords·*coords,·FILE·*fp·)·;\xd
143 ·················The·header·and·statistics·are·written.·The·value·1·is·returned.\xd143 ·················The·header·and·statistics·are·written.·The·value·1·is·returned.\xd
Offset 164, 15 lines modifiedOffset 164, 15 lines modified
164 ·················This·driver·program·creates·a·Coords·object·for·9-point·finite·difference·operator·on·a·n1×n2\xd164 ·················This·driver·program·creates·a·Coords·object·for·9-point·finite·difference·operator·on·a·n1×n2\xd
165 ·················grid·and·optionally·writes·it·to·a·file.\xd165 ·················grid·and·optionally·writes·it·to·a·file.\xd
166 ····················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd166 ····················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd
167 ·····················that·all·objects·are·written·to·the·message·file.\xd167 ·····················that·all·objects·are·written·to·the·message·file.\xd
168 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd168 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
169 ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·message\xd169 ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·message\xd
170 ·····················data.\xd170 ·····················data.\xd
171 ·······6··············Coords·:·DRAFT·January·15,·2021\xd171 ·······6·············Coords·:·DRAFT·February·18,·2022\xd
172 ············TheoutCoordsFileparameteristheoutputfilefortheCoordsobject.·IfoutCoordsFile\xd172 ············TheoutCoordsFileparameteristheoutputfilefortheCoordsobject.·IfoutCoordsFile\xd
173 ············is·nonethentheCoordsobjectisnotwrittentoafile.·Otherwise,theCoords·writeToFile()\xd173 ············is·nonethentheCoordsobjectisnotwrittentoafile.·Otherwise,theCoords·writeToFile()\xd
174 ············method·is·called·to·write·the·object·to·a·formatted·file·(if·outCoordsFile·is·of·the·form\xd174 ············method·is·called·to·write·the·object·to·a·formatted·file·(if·outCoordsFile·is·of·the·form\xd
175 ············*.coordsf),·or·a·binary·file·(if·outCoordsFile·is·of·the·form·*.coordsb).\xd175 ············*.coordsf),·or·a·binary·file·(if·outCoordsFile·is·of·the·form·*.coordsb).\xd
176 ·······Index\xd176 ·······Index\xd
177 ·······Coords·clearData(),·2\xd177 ·······Coords·clearData(),·2\xd
178 ·······Coords·free(),·2\xd178 ·······Coords·free(),·2\xd
34.1 KB
./usr/share/doc/spooles-doc/DSTree.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2235921 gzip·compressed·data,·max·compression,·from·Unix,·original·size·223775
33.8 KB
DSTree.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·596·8427 %%BoundingBox:·0·0·596·842
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMSY10·CMSL108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMSY10·CMSL10
9 %%DocumentPaperSizes:·a49 %%DocumentPaperSizes:·a4
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·DSTree.ps12 %DVIPSCommandLine:·dvips·main·-o·DSTree.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 709, 19 lines modifiedOffset 709, 20 lines modified
709 end·readonly·def709 end·readonly·def
710 /Encoding·256·array710 /Encoding·256·array
711 0·1·255·{1·index·exch·/.notdef·put}·for711 0·1·255·{1·index·exch·/.notdef·put}·for
712 dup·44·/comma·put712 dup·44·/comma·put
713 dup·48·/zero·put713 dup·48·/zero·put
714 dup·49·/one·put714 dup·49·/one·put
715 dup·50·/two·put715 dup·50·/two·put
716 dup·53·/five·put716 dup·56·/eight·put
717 dup·58·/colon·put717 dup·58·/colon·put
718 dup·74·/J·put718 dup·70·/F·put
719 dup·97·/a·put719 dup·97·/a·put
 720 dup·98·/b·put
720 dup·110·/n·put721 dup·101·/e·put
721 dup·114·/r·put722 dup·114·/r·put
722 dup·117·/u·put723 dup·117·/u·put
723 dup·121·/y·put724 dup·121·/y·put
724 readonly·def725 readonly·def
725 currentdict·end726 currentdict·end
726 currentfile·eexec727 currentfile·eexec
727 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7728 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 905, 84 lines modifiedOffset 906, 86 lines modified
905 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A906 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
906 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082907 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
907 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E908 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
908 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5909 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
909 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05910 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
910 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05911 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
911 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767912 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
912 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704913 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
913 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
914 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
915 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
916 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
917 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
918 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
919 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
920 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
921 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
922 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
923 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
924 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
925 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
926 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
927 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
928 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
929 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
930 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
931 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
932 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
933 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
934 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
935 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
936 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
937 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
938 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
939 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
940 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
941 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
942 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
943 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
944 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
945 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
946 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
947 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
948 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
949 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
950 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
951 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
952 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
953 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
954 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
955 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
956 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
957 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
958 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
959 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
960 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
961 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
962 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
963 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
964 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
965 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
966 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
967 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
968 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
969 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
970 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
971 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
972 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
973 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
974 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
975 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
976 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
977 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
978 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
979 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
980 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
981 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5914 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 915 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 916 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 917 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 918 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 919 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 920 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 921 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 922 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 923 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 924 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 925 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 926 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 927 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 10918/22067 bytes (49.48%) of diff not shown.
12.2 KB
ps2ascii {}
    
Offset 21, 15 lines modifiedOffset 21, 15 lines modified
21 ···········The·DSTree·object·has·a·very·simple·data·structure.·It·contains·a·Tree·object·to·represent·the\xd21 ···········The·DSTree·object·has·a·very·simple·data·structure.·It·contains·a·Tree·object·to·represent·the\xd
22 ···········tree·fields·of·the·domains·and·separators,·and·an·IV·object·to·hold·the·map·from·the·vertices·to\xd22 ···········tree·fields·of·the·domains·and·separators,·and·an·IV·object·to·hold·the·map·from·the·vertices·to\xd
23 ···········the·domains·and·separators.\xd23 ···········the·domains·and·separators.\xd
24 ··············Tree·*tree·:·pointer·to·the·Tree·object\xd24 ··············Tree·*tree·:·pointer·to·the·Tree·object\xd
25 ··············IV·*mapIV·:·pointer·to·the·IV·object·that·holds·the·map·from·vertices·to·domains·and\xd25 ··············IV·*mapIV·:·pointer·to·the·IV·object·that·holds·the·map·from·vertices·to·domains·and\xd
26 ···············separators.\xd26 ···············separators.\xd
27 ·············································1\xd27 ·············································1\xd
28 ··············2····························Tree·:·DRAFT·January·15,·2021\xd28 ··············2····························Tree·:·DRAFT·February·18,·2022\xd
29 ··············1.2···Prototypes·and·descriptions·of·DSTree·methods\xd29 ··············1.2···Prototypes·and·descriptions·of·DSTree·methods\xd
30 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd30 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
31 ··············DSTree·object.\xd31 ··············DSTree·object.\xd
32 ··············1.2.1··Basic·methods\xd32 ··············1.2.1··Basic·methods\xd
33 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd33 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
34 ··············any·allocated·data,·and·free’ing·the·object.\xd34 ··············any·allocated·data,·and·free’ing·the·object.\xd
35 ················1.·DSTree·*·DSTree_new·(·void·)·;\xd35 ················1.·DSTree·*·DSTree_new·(·void·)·;\xd
Offset 52, 15 lines modifiedOffset 52, 15 lines modified
52 ··············1.2.2··Instance·methods\xd52 ··············1.2.2··Instance·methods\xd
53 ················1.·Tree·*·DSTree_tree·(·DSTree·*dstree·)·;\xd53 ················1.·Tree·*·DSTree_tree·(·DSTree·*dstree·)·;\xd
54 ···················This·method·returns·a·pointer·to·its·Tree·object.\xd54 ···················This·method·returns·a·pointer·to·its·Tree·object.\xd
55 ···················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd55 ···················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
56 ················2.·IV·*·DSTree_mapIV·(·DSTree·*dstree·)·;\xd56 ················2.·IV·*·DSTree_mapIV·(·DSTree·*dstree·)·;\xd
57 ···················This·method·returns·a·pointer·to·its·IV·object·that·maps·vertices·to·domains·and·separators.\xd57 ···················This·method·returns·a·pointer·to·its·IV·object·that·maps·vertices·to·domains·and·separators.\xd
58 ···················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd58 ···················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
59 ·········································Tree·:·DRAFT····January·15,·2021·······················3\xd59 ·········································Tree·:·DRAFT····February·18,·2022······················3\xd
60 ·············1.2.3···Initializer·methods\xd60 ·············1.2.3···Initializer·methods\xd
61 ·············There·are·three·initializers·and·two·helper·functions·to·set·the·dimensions·of·the·dstree,·allocate\xd61 ·············There·are·three·initializers·and·two·helper·functions·to·set·the·dimensions·of·the·dstree,·allocate\xd
62 ·············the·three·vectors,·and·fill·the·information.\xd62 ·············the·three·vectors,·and·fill·the·information.\xd
63 ················1.·void·DSTree_init1·(·DSTree·*dstree,·int·ndomsep,·int·nvtx·)·;\xd63 ················1.·void·DSTree_init1·(·DSTree·*dstree,·int·ndomsep,·int·nvtx·)·;\xd
64 ··················This·method·initializes·an·object·given·the·number·of·vertices,·(the·dimension·of·mapIV)·and\xd64 ··················This·method·initializes·an·object·given·the·number·of·vertices,·(the·dimension·of·mapIV)·and\xd
65 ··················domains·and·separators·(the·number·of·nodes·in·tree).·It·then·clears·any·previous·data\xd65 ··················domains·and·separators·(the·number·of·nodes·in·tree).·It·then·clears·any·previous·data\xd
66 ··················with·a·call·to·DSTree·clearData().·The·tree·field·is·created·and·initialized·via·a·call·to\xd66 ··················with·a·call·to·DSTree·clearData().·The·tree·field·is·created·and·initialized·via·a·call·to\xd
Offset 88, 15 lines modifiedOffset 88, 15 lines modified
88 ··················This·method·returns·the·stages·for·a·nested·dissection·variant,·separators·on·two·adjacent\xd88 ··················This·method·returns·the·stages·for·a·nested·dissection·variant,·separators·on·two·adjacent\xd
89 ··················levels·are·put·into·the·same·stage.·The·levels·of·the·domains·and·separators·are·obtained\xd89 ··················levels·are·put·into·the·same·stage.·The·levels·of·the·domains·and·separators·are·obtained\xd
90 ··················via·a·call·to·Tree·setHeightImetric().·A·stagesIV·IV·object·is·created·of·size·nvtx·=\xd90 ··················via·a·call·to·Tree·setHeightImetric().·A·stagesIV·IV·object·is·created·of·size·nvtx·=\xd
91 ··················mapIV->size,·filled·and·then·returned.·If·a·vertex·is·found·in·a·domain,·its·stage·is·zero.·If\xd91 ··················mapIV->size,·filled·and·then·returned.·If·a·vertex·is·found·in·a·domain,·its·stage·is·zero.·If\xd
92 ··················a·vertex·is·found·in·a·separator·at·level·k,·its·stage·is·⌈k/2⌉.\xd92 ··················a·vertex·is·found·in·a·separator·at·level·k,·its·stage·is·⌈k/2⌉.\xd
93 ··················Error·checking:·If·dstree·is·NULL,·or·if·the·object·has·not·been·initialized,·an·error·message\xd93 ··················Error·checking:·If·dstree·is·NULL,·or·if·the·object·has·not·been·initialized,·an·error·message\xd
94 ··················is·printed·and·the·program·exits.\xd94 ··················is·printed·and·the·program·exits.\xd
95 ·············4····························Tree·:·DRAFT·January·15,·2021\xd95 ·············4····························Tree·:·DRAFT·February·18,·2022\xd
96 ················3.·IV·*·DSTree_MS2stages·(·DSTree·*dstree·)··;\xd96 ················3.·IV·*·DSTree_MS2stages·(·DSTree·*dstree·)··;\xd
97 ··················This·method·returns·the·stages·for·the·standard·multisection·ordering.·The·levels·of·the\xd97 ··················This·method·returns·the·stages·for·the·standard·multisection·ordering.·The·levels·of·the\xd
98 ··················domains·and·separators·are·obtained·via·a·call·to·Tree·setHeightImetric().·A·stagesIV\xd98 ··················domains·and·separators·are·obtained·via·a·call·to·Tree·setHeightImetric().·A·stagesIV\xd
99 ··················IV·object·is·created·of·size·nvtx·=·mapIV->size,·filled·and·then·returned.·If·a·vertex·is\xd99 ··················IV·object·is·created·of·size·nvtx·=·mapIV->size,·filled·and·then·returned.·If·a·vertex·is\xd
100 ··················found·in·a·domain,·its·stage·is·zero.·If·a·vertex·is·found·in·a·separator,·its·stage·is·one.\xd100 ··················found·in·a·domain,·its·stage·is·zero.·If·a·vertex·is·found·in·a·separator,·its·stage·is·one.\xd
101 ··················Error·checking:·If·dstree·is·NULL,·or·if·the·object·has·not·been·initialized,·an·error·message\xd101 ··················Error·checking:·If·dstree·is·NULL,·or·if·the·object·has·not·been·initialized,·an·error·message\xd
102 ··················is·printed·and·the·program·exits.\xd102 ··················is·printed·and·the·program·exits.\xd
Offset 125, 49 lines modifiedOffset 125, 49 lines modified
125 ··················If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.·Otherwise,·the·number\xd125 ··················If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.·Otherwise,·the·number\xd
126 ··················of·bytes·taken·by·this·object·is·returned.\xd126 ··················of·bytes·taken·by·this·object·is·returned.\xd
127 ··················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd127 ··················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
128 ················2.·void·DSTree_renumberViaPostOT·(·DSTree·*dstree·)·;\xd128 ················2.·void·DSTree_renumberViaPostOT·(·DSTree·*dstree·)·;\xd
129 ··················This·method·renumbers·the·fronts·in·the·tree·via·a·post-order·traversal.\xd129 ··················This·method·renumbers·the·fronts·in·the·tree·via·a·post-order·traversal.\xd
130 ··················Error·checking:·If·dstree·is·NULL,·or·if·the·object·has·not·been·initialized,·an·error·message\xd130 ··················Error·checking:·If·dstree·is·NULL,·or·if·the·object·has·not·been·initialized,·an·error·message\xd
131 ··················is·printed·and·the·program·exits.\xd131 ··················is·printed·and·the·program·exits.\xd
132 ······································Tree·:·DRAFT···January·15,·2021····················5\xd132 ······································Tree·:·DRAFT··February·18,·2022···················5\xd
133 ···············3.·int·DSTree_domainWeight·(·DSTree·*dstree,·int·vwghts[]·)·;\xd133 ··············3.·int·DSTree_domainWeight·(·DSTree·*dstree,·int·vwghts[]·)·;\xd
134 ·················This·method·returns·the·weight·of·the·vertices·in·the·domains.·If·vwghts·is·NULL,·the·vertices\xd134 ·················This·method·returns·the·weight·of·the·vertices·in·the·domains.·If·vwghts·is·NULL,·the·vertices\xd
135 ·················have·unit·weight.\xd135 ·················have·unit·weight.\xd
136 ·················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd136 ·················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
137 ···············4.·int·DSTree_separatorWeight·(·DSTree·*dstree,·int·vwghts[]·)·;\xd137 ··············4.·int·DSTree_separatorWeight·(·DSTree·*dstree,·int·vwghts[]·)·;\xd
138 ·················This·method·returns·the·weight·of·the·vertices·in·the·separators.·If·vwghts·is·NULL,·the\xd138 ·················This·method·returns·the·weight·of·the·vertices·in·the·separators.·If·vwghts·is·NULL,·the\xd
139 ·················vertices·have·unit·weight.\xd139 ·················vertices·have·unit·weight.\xd
140 ·················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd140 ·················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
141 ············1.2.6··IO·methods\xd141 ············1.2.6··IO·methods\xd
142 ············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·dstree·object·is·simple:·the·structure\xd142 ············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·dstree·object·is·simple:·the·structure\xd
143 ············for·a·Tree·object·followed·by·the·structure·for·an·IV·object.\xd143 ············for·a·Tree·object·followed·by·the·structure·for·an·IV·object.\xd
144 ···············1.·int·DSTree_readFromFile·(·DSTree·*dstree,·char·*fn·)·;\xd144 ··············1.·int·DSTree_readFromFile·(·DSTree·*dstree,·char·*fn·)·;\xd
145 ·················This·method·reads·a·DSTree·object·from·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,\xd145 ·················This·method·reads·a·DSTree·object·from·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,\xd
146 ·················it·then·calls·DSTree·readFromFormattedFile()·or·DSTree·readFromBinaryFile(),·closes\xd146 ·················it·then·calls·DSTree·readFromFormattedFile()·or·DSTree·readFromBinaryFile(),·closes\xd
147 ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd147 ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd
148 ·················Error·checking:·If·dstree·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.dstreef·(for·a\xd148 ·················Error·checking:·If·dstree·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.dstreef·(for·a\xd
149 ·················formatted·file)·or·*.dstreeb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd149 ·················formatted·file)·or·*.dstreeb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd
150 ·················returns·zero.\xd150 ·················returns·zero.\xd
151 ···············2.·int·DSTree_readFromFormattedFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd151 ··············2.·int·DSTree_readFromFormattedFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd
152 ·················This·method·reads·in·a·DSTree·object·from·a·formatted·file.·If·there·are·no·errors·in·reading\xd152 ·················This·method·reads·in·a·DSTree·object·from·a·formatted·file.·If·there·are·no·errors·in·reading\xd
153 ·················the·data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd153 ·················the·data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd
154 ·················Error·checking:·If·dstree·or·fp·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd154 ·················Error·checking:·If·dstree·or·fp·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
155 ···············3.·int·DSTree_readFromBinaryFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd155 ··············3.·int·DSTree_readFromBinaryFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd
156 ·················This·method·reads·in·a·DSTree·object·from·a·binary·file.·If·there·are·no·errors·in·reading·the\xd156 ·················This·method·reads·in·a·DSTree·object·from·a·binary·file.·If·there·are·no·errors·in·reading·the\xd
157 ·················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd157 ·················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd
158 ·················Error·checking:·If·dstree·or·fp·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd158 ·················Error·checking:·If·dstree·or·fp·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
159 ···············4.·int·DSTree_writeToFile·(·DSTree·*dstree,·char·*fn·)·;\xd159 ··············4.·int·DSTree_writeToFile·(·DSTree·*dstree,·char·*fn·)·;\xd
160 ·················This·method·writes·a·DSTree·object·to·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,\xd160 ·················This·method·writes·a·DSTree·object·to·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,\xd
161 ·················it·then·calls·DSTree·writeFromFormattedFile()or·DSTree·writeFromBinaryFile(),closes\xd161 ·················it·then·calls·DSTree·writeFromFormattedFile()or·DSTree·writeFromBinaryFile(),closes\xd
162 ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd162 ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd
163 ·················Error·checking:·If·dstree·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.dstreef·(for·a\xd163 ·················Error·checking:·If·dstree·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.dstreef·(for·a\xd
164 ·················formatted·file)·or·*.dstreeb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd164 ·················formatted·file)·or·*.dstreeb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd
165 ·················returns·zero.\xd165 ·················returns·zero.\xd
166 ··············6······························Tree·:·DRAFT·January·15,·2021\xd166 ··············6······························Tree·:·DRAFT·February·18,·2022\xd
167 ·················5.·int·DSTree_writeToFormattedFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd167 ·················5.·int·DSTree_writeToFormattedFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd
168 ···················This·method·writes·a·DSTree·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the\xd168 ···················This·method·writes·a·DSTree·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the\xd
169 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd169 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd
170 ···················Error·checking:·If·dstree·or·fp·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd170 ···················Error·checking:·If·dstree·or·fp·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
171 ·················6.·int·DSTree_writeToBinaryFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd171 ·················6.·int·DSTree_writeToBinaryFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd
172 ···················This·method·writes·a·DSTree·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd172 ···················This·method·writes·a·DSTree·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd
173 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd173 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd
Offset 195, 16 lines modifiedOffset 195, 16 lines modified
195 ·······················The·inFile·parameter·is·the·input·file·for·the·DSTree·object.··It·must·be·of·the\xd195 ·······················The·inFile·parameter·is·the·input·file·for·the·DSTree·object.··It·must·be·of·the\xd
196 ························form·*.dinpmtxf·or·*.dinpmtxb.·The·DSTree·object·is·read·from·the·file·via·the\xd196 ························form·*.dinpmtxf·or·*.dinpmtxb.·The·DSTree·object·is·read·from·the·file·via·the\xd
197 ························DSTree·readFromFile()·method.\xd197 ························DSTree·readFromFile()·method.\xd
198 ·······················The·outFileparameter·is·the·output·file·for·the·DSTree·object.·If·outFile·is·none·then\xd198 ·······················The·outFileparameter·is·the·output·file·for·the·DSTree·object.·If·outFile·is·none·then\xd
199 ························the·DSTreeobject·is·not·written·to·a·file.·Otherwise,·the·DSTree·writeToFile()method\xd199 ························the·DSTreeobject·is·not·written·to·a·file.·Otherwise,·the·DSTree·writeToFile()method\xd
200 ························is·called·to·write·the·object·to·a·formatted·file·(if·outFile·is·of·the·form·*.dinpmtxf),\xd200 ························is·called·to·write·the·object·to·a·formatted·file·(if·outFile·is·of·the·form·*.dinpmtxf),\xd
201 ························or·a·binary·file·(if·outFile·is·of·the·form·*.dinpmtxb).\xd201 ························or·a·binary·file·(if·outFile·is·of·the·form·*.dinpmtxb).\xd
202 ······································Tree·:·DRAFT···January·15,·2021····················7\xd202 ······································Tree·:·DRAFT··February·18,·2022···················7\xd
203 ···············2.·writeStagesIV·msglvl·msgFile·inFile·type·outFile\xd203 ··············2.·writeStagesIV·msglvl·msgFile·inFile·type·outFile\xd
204 ·················This·driver·program·reads·in·a·DSTree·from·a·file,·creates·a·stages·IV·object·and·writes·it·to\xd204 ·················This·driver·program·reads·in·a·DSTree·from·a·file,·creates·a·stages·IV·object·and·writes·it·to\xd
205 ·················a·file.\xd205 ·················a·file.\xd
206 ····················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd206 ····················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd
207 ·····················the·DSTree·object·is·written·to·the·message·file.\xd207 ·····················the·DSTree·object·is·written·to·the·message·file.\xd
208 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd208 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
209 ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd209 ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd
210 ·····················data.\xd210 ·····················data.\xd
Offset 213, 16 lines modifiedOffset 213, 16 lines modified
213 ·····················method.\xd213 ·····················method.\xd
214 ····················The·type·parameter·specifies·which·type·of·stages·vector·to·create.·There·are·presently\xd214 ····················The·type·parameter·specifies·which·type·of·stages·vector·to·create.·There·are·presently\xd
215 ·····················four·supported·types·:·ND,·ND2,·MS2·and·ND3.·See·the·stage·methods·in·Section·1.2.4.\xd215 ·····················four·supported·types·:·ND,·ND2,·MS2·and·ND3.·See·the·stage·methods·in·Section·1.2.4.\xd
216 ····················The·outFile·parameter·is·the·output·file·for·the·stages·IV·object.·If·outFile·is·none\xd216 ····················The·outFile·parameter·is·the·output·file·for·the·stages·IV·object.·If·outFile·is·none\xd
217 ·····················then·the·IV·object·is·not·written·to·a·file.·Otherwise,·the·IV·writeToFile()·method\xd217 ·····················then·the·IV·object·is·not·written·to·a·file.·Otherwise,·the·IV·writeToFile()·method\xd
218 ·····················is·called·to·write·the·object·to·a·formatted·file·(if·outFile·is·of·the·form·*.ivf),·or·a\xd218 ·····················is·called·to·write·the·object·to·a·formatted·file·(if·outFile·is·of·the·form·*.ivf),·or·a\xd
219 ·····················binary·file·(if·outFile·is·of·the·form·*.ivb).\xd219 ·····················binary·file·(if·outFile·is·of·the·form·*.ivb).\xd
220 ···············3.·testDomWeightStages·msglvl·msgFile\xd220 ··············3.·testDomWeightStages·msglvl·msgFile\xd
221 ····································inDSTreeFile·inGraphFile·inCutoffDVfile·outFile\xd221 ···································inDSTreeFile·inGraphFile·inCutoffDVfile·outFile\xd
222 ·················This·driver·program·is·used·to·create·a·stages·vector·based·on·subtree·weight.·It·reads·in\xd222 ·················This·driver·program·is·used·to·create·a·stages·vector·based·on·subtree·weight.·It·reads·in\xd
223 ·················three·objects·from·files:·a·DSTree·object,·a·Graph·object·and·a·DV·object·that·contains·the\xd223 ·················three·objects·from·files:·a·DSTree·object,·a·Graph·object·and·a·DV·object·that·contains·the\xd
224 ·················cutoff·vector,·then·creates·a·stages·IV·object·and·writes·it·to·a·file.\xd224 ·················cutoff·vector,·then·creates·a·stages·IV·object·and·writes·it·to·a·file.\xd
Max diff block lines reached; 290/12484 bytes (2.32%) of diff not shown.
39.8 KB
./usr/share/doc/spooles-doc/DV.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2578151 gzip·compressed·data,·max·compression,·from·Unix,·original·size·258006
39.6 KB
DV.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMBX10·CMSY10·CMSL10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMBX10·CMSY10·CMSL10·CMTI10
9 %%+·CMMI10·CMR89 %%+·CMMI10·CMR8
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·DV.ps13 %DVIPSCommandLine:·dvips·main·-o·DV.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1654, 19 lines modifiedOffset 1654, 20 lines modified
1654 end·readonly·def1654 end·readonly·def
1655 /Encoding·256·array1655 /Encoding·256·array
1656 0·1·255·{1·index·exch·/.notdef·put}·for1656 0·1·255·{1·index·exch·/.notdef·put}·for
1657 dup·44·/comma·put1657 dup·44·/comma·put
1658 dup·48·/zero·put1658 dup·48·/zero·put
1659 dup·49·/one·put1659 dup·49·/one·put
1660 dup·50·/two·put1660 dup·50·/two·put
1661 dup·53·/five·put1661 dup·56·/eight·put
1662 dup·58·/colon·put1662 dup·58·/colon·put
1663 dup·74·/J·put1663 dup·70·/F·put
1664 dup·97·/a·put1664 dup·97·/a·put
 1665 dup·98·/b·put
1665 dup·110·/n·put1666 dup·101·/e·put
1666 dup·114·/r·put1667 dup·114·/r·put
1667 dup·117·/u·put1668 dup·117·/u·put
1668 dup·121·/y·put1669 dup·121·/y·put
1669 readonly·def1670 readonly·def
1670 currentdict·end1671 currentdict·end
1671 currentfile·eexec1672 currentfile·eexec
1672 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71673 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1850, 84 lines modifiedOffset 1851, 86 lines modified
1850 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1851 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1851 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821852 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1852 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1853 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1853 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51854 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1854 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051855 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1855 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051856 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1856 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671857 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1857 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041858 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1858 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1859 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1860 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1861 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1862 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1863 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1864 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1865 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1866 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1867 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1868 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1869 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1870 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1871 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1872 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1873 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1874 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1875 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1876 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1877 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1878 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1879 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1880 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1881 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1882 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1883 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1884 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1885 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1886 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1887 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1888 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1889 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1890 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1891 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1892 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1893 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1894 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1895 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1896 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1897 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1898 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1899 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1900 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1901 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1902 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1903 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1904 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1905 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1906 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1907 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1908 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1909 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1910 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1911 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1912 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1913 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1914 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1915 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1916 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1917 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1918 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1919 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1920 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1921 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1922 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1923 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1924 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1925 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1926 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51859 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1860 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1861 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1862 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1863 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1864 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1865 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1866 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1867 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1868 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1869 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1870 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1871 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1872 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 20036/31174 bytes (64.27%) of diff not shown.
9.13 KB
ps2ascii {}
    
Offset 22, 15 lines modifiedOffset 22, 15 lines modified
22 ···············simplest·operations,·and·so·when·we·need·to·manipulate·an·double·vector·inside·a·loop,·we·extract\xd22 ···············simplest·operations,·and·so·when·we·need·to·manipulate·an·double·vector·inside·a·loop,·we·extract\xd
23 ···············out·the·size·and·pointer·to·the·base·array·from·the·DV·object.·On·the·other·hand,·the·convenience\xd23 ···············out·the·size·and·pointer·to·the·base·array·from·the·DV·object.·On·the·other·hand,·the·convenience\xd
24 ···············makes·it·a·widely·used·object.\xd24 ···············makes·it·a·widely·used·object.\xd
25 ···············1.1····Data·Structure\xd25 ···············1.1····Data·Structure\xd
26 ···············The·DV·structure·has·three·fields.\xd26 ···············The·DV·structure·has·three·fields.\xd
27 ···················int·size·:·present·size·of·the·vector.\xd27 ···················int·size·:·present·size·of·the·vector.\xd
28 ·····························································1\xd28 ·····························································1\xd
29 ··············2·····························DV·:·DRAFT·January·15,·2021\xd29 ··············2·····························DV·:·DRAFT·February·18,·2022\xd
30 ··················int·maxsize·:·maximum·size·of·the·vector.\xd30 ··················int·maxsize·:·maximum·size·of·the·vector.\xd
31 ··················int·owned·:·owner·flag·for·the·data.·When·owned·=·1,·storage·for·owned·double’s·has·been\xd31 ··················int·owned·:·owner·flag·for·the·data.·When·owned·=·1,·storage·for·owned·double’s·has·been\xd
32 ···················allocated·by·this·object·and·can·be·free’d·by·the·object.·When·owned·==·0·but·size·>·0·,\xd32 ···················allocated·by·this·object·and·can·be·free’d·by·the·object.·When·owned·==·0·but·size·>·0·,\xd
33 ···················this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not·be\xd33 ···················this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not·be\xd
34 ···················free’d·by·this·object.\xd34 ···················free’d·by·this·object.\xd
35 ··················double·*vec·:·pointer·to·the·base·address·of·the·double·vector\xd35 ··················double·*vec·:·pointer·to·the·base·address·of·the·double·vector\xd
36 ··············The·size,·maxsize,·nowned·and·vec·fields·need·never·be·accessed·directly··see·the·DV·size(),\xd36 ··············The·size,·maxsize,·nowned·and·vec·fields·need·never·be·accessed·directly··see·the·DV·size(),\xd
Offset 53, 15 lines modifiedOffset 53, 15 lines modified
53 ···················the·storage·for·vec·is·free’d·by·a·call·to·DVfree().·The·structure’s·default·fields·are·then·set\xd53 ···················the·storage·for·vec·is·free’d·by·a·call·to·DVfree().·The·structure’s·default·fields·are·then·set\xd
54 ···················with·a·call·to·DV·setDefaultFields().\xd54 ···················with·a·call·to·DV·setDefaultFields().\xd
55 ···················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd55 ···················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
56 ················4.·void·DV_free·(·DV·*dv·)·;\xd56 ················4.·void·DV_free·(·DV·*dv·)·;\xd
57 ···················This·method·releases·any·storage·by·a·call·to·DV·clearData()·then·free’s·the·storage·for·the\xd57 ···················This·method·releases·any·storage·by·a·call·to·DV·clearData()·then·free’s·the·storage·for·the\xd
58 ···················structure·with·a·call·to·free().\xd58 ···················structure·with·a·call·to·free().\xd
59 ···················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd59 ···················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
60 ·······································DV·:·DRAFT···January·15,·2021·····················3\xd60 ·······································DV·:·DRAFT··February·18,·2022·····················3\xd
61 ············1.2.2··Instance·methods\xd61 ············1.2.2··Instance·methods\xd
62 ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd62 ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd
63 ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd63 ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd
64 ············the·methods.\xd64 ············the·methods.\xd
65 ···············1.·int·DV_owned·(·DV·*dv·)·;\xd65 ···············1.·int·DV_owned·(·DV·*dv·)·;\xd
66 ·················This·method·returns·the·value·of·owned.·If·owned·>·0,·then·the·object·owns·the·data·pointed\xd66 ·················This·method·returns·the·value·of·owned.·If·owned·>·0,·then·the·object·owns·the·data·pointed\xd
67 ·················to·by·vec·and·will·free·this·data·with·a·call·to·DVfree()·when·its·data·is·cleared·by·a·call·to\xd67 ·················to·by·vec·and·will·free·this·data·with·a·call·to·DVfree()·when·its·data·is·cleared·by·a·call·to\xd
Offset 85, 15 lines modifiedOffset 85, 15 lines modified
85 ·················This·method·fills·*psize·with·the·size·of·the·vector·and·**pentries·with·the·base·address\xd85 ·················This·method·fills·*psize·with·the·size·of·the·vector·and·**pentries·with·the·base·address\xd
86 ·················of·the·vector.\xd86 ·················of·the·vector.\xd
87 ·················Error·checking:·If·dv,·psize·or·pentriesis·NULL,·an·error·message·is·printed·and·the·program\xd87 ·················Error·checking:·If·dv,·psize·or·pentriesis·NULL,·an·error·message·is·printed·and·the·program\xd
88 ·················exits.\xd88 ·················exits.\xd
89 ···············7.·void·DV_setEntry·(·DV·*dv,·int·loc,·double·value·)·;\xd89 ···············7.·void·DV_setEntry·(·DV·*dv,·int·loc,·double·value·)·;\xd
90 ·················This·method·sets·the·loc’th·entry·of·the·vector·to·value.\xd90 ·················This·method·sets·the·loc’th·entry·of·the·vector·to·value.\xd
91 ·················Error·checking:·If·dv·is·NULL·or·loc·<·0,·an·error·message·is·printed·and·the·program·exits.\xd91 ·················Error·checking:·If·dv·is·NULL·or·loc·<·0,·an·error·message·is·printed·and·the·program·exits.\xd
92 ··············4·····························DV·:·DRAFT·January·15,·2021\xd92 ··············4·····························DV·:·DRAFT·February·18,·2022\xd
93 ··············1.2.3··Initializer·methods\xd93 ··············1.2.3··Initializer·methods\xd
94 ··············There·are·three·initializer·methods.\xd94 ··············There·are·three·initializer·methods.\xd
95 ················1.·void·DV_init·(·DV·*dv,·int·size,·double·*entries·)·;\xd95 ················1.·void·DV_init·(·DV·*dv,·int·size,·double·*entries·)·;\xd
96 ···················This·method·initializes·the·object·given·a·size·for·the·vector·and·a·possible·pointer·to·the\xd96 ···················This·method·initializes·the·object·given·a·size·for·the·vector·and·a·possible·pointer·to·the\xd
97 ···················vectors’·storage.·Any·previous·data·is·cleared·with·a·call·to·DV·clearData().·If·entries·!=\xd97 ···················vectors’·storage.·Any·previous·data·is·cleared·with·a·call·to·DV·clearData().·If·entries·!=\xd
98 ···················NULL·then·the·vec·field·is·set·to·entries,·the·size·and·maxsize·fields·are·set·to·size,·and\xd98 ···················NULL·then·the·vec·field·is·set·to·entries,·the·size·and·maxsize·fields·are·set·to·size,·and\xd
99 ···················owned·is·set·to·zero·because·the·object·does·not·own·the·entries.·If·entries·is·NULL·and·size\xd99 ···················owned·is·set·to·zero·because·the·object·does·not·own·the·entries.·If·entries·is·NULL·and·size\xd
Offset 123, 15 lines modifiedOffset 123, 15 lines modified
123 ···················increased·with·a·call·to·DV·setMaxsize().·The·size·field·is·set·to·newsize.\xd123 ···················increased·with·a·call·to·DV·setMaxsize().·The·size·field·is·set·to·newsize.\xd
124 ···················Error·checking:·If·dv·is·NULL,·or·newsize·<·0,·or·if·0·<·maxsize·<·newsize·and·owned·=\xd124 ···················Error·checking:·If·dv·is·NULL,·or·newsize·<·0,·or·if·0·<·maxsize·<·newsize·and·owned·=\xd
125 ···················0,·an·error·message·is·printed·and·the·program·exits.\xd125 ···················0,·an·error·message·is·printed·and·the·program·exits.\xd
126 ··············1.2.4··Utility·methods\xd126 ··············1.2.4··Utility·methods\xd
127 ················1.·void·DV_shiftBase·(·DV·*dv,·int·offset·)·;\xd127 ················1.·void·DV_shiftBase·(·DV·*dv,·int·offset·)·;\xd
128 ···················This·method·shifts·the·base·entries·of·the·vector·and·decrements·the·present·size·and·max-\xd128 ···················This·method·shifts·the·base·entries·of·the·vector·and·decrements·the·present·size·and·max-\xd
129 ···················imum·size·of·the·vector·by·offset.·This·is·a·dangerous·method·to·use·because·the·state·of\xd129 ···················imum·size·of·the·vector·by·offset.·This·is·a·dangerous·method·to·use·because·the·state·of\xd
130 ·······································DV·:·DRAFT···January·15,·2021·····················5\xd130 ·······································DV·:·DRAFT··February·18,·2022·····················5\xd
131 ·················the·vector·is·lost,·namely·vec,·the·base·of·the·entries,·is·corrupted.·If·the·object·owns·its\xd131 ·················the·vector·is·lost,·namely·vec,·the·base·of·the·entries,·is·corrupted.·If·the·object·owns·its\xd
132 ·················entries·and·DV·free(),·DV·setSize()·or·DV·setMaxsize()·is·called·before·the·base·has·been\xd132 ·················entries·and·DV·free(),·DV·setSize()·or·DV·setMaxsize()·is·called·before·the·base·has·been\xd
133 ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd133 ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd
134 ·················useful·method,·but·use·with·caution.\xd134 ·················useful·method,·but·use·with·caution.\xd
135 ·················Error·checking:·If·dv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd135 ·················Error·checking:·If·dv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
136 ···············2.·void·DV_push·(·DV·*dv,·double·val·)·;\xd136 ···············2.·void·DV_push·(·DV·*dv,·double·val·)·;\xd
137 ·················This·method·pushes·an·entry·onto·the·vector.·If·the·vector·is·full,·i.e.,·if·size·==·maxsize\xd137 ·················This·method·pushes·an·entry·onto·the·vector.·If·the·vector·is·full,·i.e.,·if·size·==·maxsize\xd
Offset 159, 15 lines modifiedOffset 159, 15 lines modified
159 ·················This·method·shuffles·the·entries·in·the·vector·using·seed·as·a·seed·to·a·random·number\xd159 ·················This·method·shuffles·the·entries·in·the·vector·using·seed·as·a·seed·to·a·random·number\xd
160 ·················generator.\xd160 ·················generator.\xd
161 ·················Error·checking:·If·dv·is·NULL,·size·<=·0·or·if·vec·==·NULL,·an·error·message·is·printed·and\xd161 ·················Error·checking:·If·dv·is·NULL,·size·<=·0·or·if·vec·==·NULL,·an·error·message·is·printed·and\xd
162 ·················the·program·exits.\xd162 ·················the·program·exits.\xd
163 ···············7.·int·DV_sizeOf·(·DV·*dv·)·;\xd163 ···············7.·int·DV_sizeOf·(·DV·*dv·)·;\xd
164 ·················This·method·returns·the·number·of·bytes·taken·by·the·object.\xd164 ·················This·method·returns·the·number·of·bytes·taken·by·the·object.\xd
165 ·················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd165 ·················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
166 ··············6·····························DV·:·DRAFT·January·15,·2021\xd166 ··············6·····························DV·:·DRAFT·February·18,·2022\xd
167 ················8.·double·*·DV_first·(·DV·*dv·)·;\xd167 ················8.·double·*·DV_first·(·DV·*dv·)·;\xd
168 ···················double·*·DV_next·(·DV·*dv,·int·*pd·)·;\xd168 ···················double·*·DV_next·(·DV·*dv,·int·*pd·)·;\xd
169 ···················These·two·methods·are·used·as·iterators,·e.g.,\xd169 ···················These·two·methods·are·used·as·iterators,·e.g.,\xd
170 ···················for·(·pd·=·DV_first(dv)·;·pd·!=·NULL·;·pd·=·DV_next(dv,·pd)·)·{\xd170 ···················for·(·pd·=·DV_first(dv)·;·pd·!=·NULL·;·pd·=·DV_next(dv,·pd)·)·{\xd
171 ······················do·something·with·entry·*pd\xd171 ······················do·something·with·entry·*pd\xd
172 ···················}\xd172 ···················}\xd
173 ···················Each·method·checks·to·see·if·dv·or·pd·is·NULL,·if·so·an·error·message·is·printed·and·the\xd173 ···················Each·method·checks·to·see·if·dv·or·pd·is·NULL,·if·so·an·error·message·is·printed·and·the\xd
Offset 193, 15 lines modifiedOffset 193, 15 lines modified
193 ···················smaller·than·tausmall,·or·larger·than·taubig·are·placed·into·pnzero,·*pnsmall·and·*pnbig,\xd193 ···················smaller·than·tausmall,·or·larger·than·taubig·are·placed·into·pnzero,·*pnsmall·and·*pnbig,\xd
194 ···················respectively.·On·return,·the·size·of·the·xDV·and·yDV·objects·is·npts.\xd194 ···················respectively.·On·return,·the·size·of·the·xDV·and·yDV·objects·is·npts.\xd
195 ···················Error·checking:·If·dv,·xDV,·yDV,·pnsmall·or·pnbig·are·NULL,·or·if·npts··0,·or·if·taubig·<·0.0\xd195 ···················Error·checking:·If·dv,·xDV,·yDV,·pnsmall·or·pnbig·are·NULL,·or·if·npts··0,·or·if·taubig·<·0.0\xd
196 ···················or·if·tausmall·>·taubig,·an·error·message·is·printed·and·the·program·exits.\xd196 ···················or·if·tausmall·>·taubig,·an·error·message·is·printed·and·the·program·exits.\xd
197 ··············1.2.5··IO·methods\xd197 ··············1.2.5··IO·methods\xd
198 ··············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·DV·object·is·simple:·the·first·entry·is\xd198 ··············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·DV·object·is·simple:·the·first·entry·is\xd
199 ··············size,·followed·by·the·size·entries·found·in·vec[].\xd199 ··············size,·followed·by·the·size·entries·found·in·vec[].\xd
200 ·······································DV·:·DRAFT···January·15,·2021·····················7\xd200 ·······································DV·:·DRAFT··February·18,·2022·····················7\xd
201 ···············1.·int·DV_readFromFile·(·DV·*dv,·char·*fn·)·;\xd201 ···············1.·int·DV_readFromFile·(·DV·*dv,·char·*fn·)·;\xd
202 ·················This·method·reads·a·DV·object·from·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,·it\xd202 ·················This·method·reads·a·DV·object·from·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,·it\xd
203 ·················then·calls·DV·readFromFormattedFile()·or·DV·readFromBinaryFile(),·closes·the·file·and\xd203 ·················then·calls·DV·readFromFormattedFile()·or·DV·readFromBinaryFile(),·closes·the·file·and\xd
204 ·················returns·the·value·returned·from·the·called·routine.\xd204 ·················returns·the·value·returned·from·the·called·routine.\xd
205 ·················Error·checking:·If·dv·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.dvf·(for·a·formatted·file)\xd205 ·················Error·checking:·If·dv·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.dvf·(for·a·formatted·file)\xd
206 ·················or·*.dvb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd206 ·················or·*.dvb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd
207 ···············2.·int·DV_readFromFormattedFile·(·DV·*dv,·FILE·*fp·)·;\xd207 ···············2.·int·DV_readFromFormattedFile·(·DV·*dv,·FILE·*fp·)·;\xd
Offset 230, 15 lines modifiedOffset 230, 15 lines modified
230 ·················This·method·writes·a·DV·object·to·a·file·in·a·human·readable·format.·is·called·to·write·out\xd230 ·················This·method·writes·a·DV·object·to·a·file·in·a·human·readable·format.·is·called·to·write·out\xd
231 ·················the·header·and·statistics.·The·entries·of·the·vector·then·follow·in·eighty·column·format·using\xd231 ·················the·header·and·statistics.·The·entries·of·the·vector·then·follow·in·eighty·column·format·using\xd
232 ·················the·DVfprintf()·method.·The·value·1·is·returned.\xd232 ·················the·DVfprintf()·method.·The·value·1·is·returned.\xd
233 ·················Error·checking:·If·dv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd233 ·················Error·checking:·If·dv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
234 ···············8.·int·DV_writeStats·(·DV·*dv,·FILE·*fp·)·;\xd234 ···············8.·int·DV_writeStats·(·DV·*dv,·FILE·*fp·)·;\xd
235 ·················This·method·writes·the·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd235 ·················This·method·writes·the·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd
236 ·················Error·checking:·If·dv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd236 ·················Error·checking:·If·dv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
237 ···········8························DV·:·DRAFT·January·15,·2021\xd237 ···········8·······················DV·:·DRAFT·February·18,·2022\xd
238 ·············9.·int·DV_writeForMatlab·(·DV·*dv,·char·*name,·FILE·*fp·)·;\xd238 ·············9.·int·DV_writeForMatlab·(·DV·*dv,·char·*name,·FILE·*fp·)·;\xd
239 ···············This·method·writes·the·entries·of·the·vector·to·a·file·suitable·to·be·read·by·Matlab.·The\xd239 ···············This·method·writes·the·entries·of·the·vector·to·a·file·suitable·to·be·read·by·Matlab.·The\xd
240 ···············character·string·name·is·the·name·of·the·vector,·e.g,·if·name·=·"A",·then·we·have·lines·of·the\xd240 ···············character·string·name·is·the·name·of·the·vector,·e.g,·if·name·=·"A",·then·we·have·lines·of·the\xd
241 ···············form\xd241 ···············form\xd
242 ···············A(1)·=·1.000000000000e0·;\xd242 ···············A(1)·=·1.000000000000e0·;\xd
243 ···············A(2)·=·2.000000000000e0·;\xd243 ···············A(2)·=·2.000000000000e0·;\xd
244 ···············...\xd244 ···············...\xd
39.0 KB
./usr/share/doc/spooles-doc/DenseMtx.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2318911 gzip·compressed·data,·max·compression,·from·Unix,·original·size·232070
38.7 KB
DenseMtx.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·612·7927 %%BoundingBox:·0·0·612·792
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMSY10·CMSL10·CMMI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMSY10·CMSL10·CMMI10
9 %%DocumentPaperSizes:·Letter9 %%DocumentPaperSizes:·Letter
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·DenseMtx.ps12 %DVIPSCommandLine:·dvips·main·-o·DenseMtx.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 921, 19 lines modifiedOffset 921, 20 lines modified
921 end·readonly·def921 end·readonly·def
922 /Encoding·256·array922 /Encoding·256·array
923 0·1·255·{1·index·exch·/.notdef·put}·for923 0·1·255·{1·index·exch·/.notdef·put}·for
924 dup·44·/comma·put924 dup·44·/comma·put
925 dup·48·/zero·put925 dup·48·/zero·put
926 dup·49·/one·put926 dup·49·/one·put
927 dup·50·/two·put927 dup·50·/two·put
928 dup·53·/five·put928 dup·56·/eight·put
929 dup·58·/colon·put929 dup·58·/colon·put
930 dup·74·/J·put930 dup·70·/F·put
931 dup·97·/a·put931 dup·97·/a·put
 932 dup·98·/b·put
932 dup·110·/n·put933 dup·101·/e·put
933 dup·114·/r·put934 dup·114·/r·put
934 dup·117·/u·put935 dup·117·/u·put
935 dup·121·/y·put936 dup·121·/y·put
936 readonly·def937 readonly·def
937 currentdict·end938 currentdict·end
938 currentfile·eexec939 currentfile·eexec
939 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7940 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1117, 84 lines modifiedOffset 1118, 86 lines modified
1117 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1118 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1118 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821119 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1119 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1120 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1120 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51121 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1121 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051122 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1122 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051123 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1123 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671124 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1124 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041125 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1125 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1126 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1127 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1128 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1129 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1130 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1131 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1132 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1133 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1134 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1135 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1136 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1137 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1138 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1139 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1140 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1141 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1142 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1143 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1144 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1145 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1146 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1147 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1148 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1149 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1150 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1151 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1152 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1153 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1154 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1155 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1156 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1157 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1158 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1159 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1160 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1161 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1162 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1163 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1164 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1165 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1166 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1167 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1168 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1169 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1170 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1171 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1172 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1173 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1174 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1175 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1176 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1177 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1178 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1179 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1180 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1181 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1182 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1183 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1184 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1185 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1186 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1187 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1188 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1189 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1190 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1191 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1192 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1193 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51126 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1127 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1128 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1129 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1130 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1131 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1132 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1133 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1134 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1135 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1136 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1137 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1138 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1139 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 17914/29071 bytes (61.62%) of diff not shown.
10.3 KB
ps2ascii {}
    
Offset 22, 15 lines modifiedOffset 22, 15 lines modified
22 ··············double·*entries·:·pointer·to·the·base·address·of·the·double·vector·that·contains·the·entries.\xd22 ··············double·*entries·:·pointer·to·the·base·address·of·the·double·vector·that·contains·the·entries.\xd
23 ··············DV·wrkDV·:·object·that·manages·the·owned·working·storage.\xd23 ··············DV·wrkDV·:·object·that·manages·the·owned·working·storage.\xd
24 ··············DenseMtx·*next·:·link·to·a·next·object·in·a·singly·linked·list.\xd24 ··············DenseMtx·*next·:·link·to·a·next·object·in·a·singly·linked·list.\xd
25 ·············One·can·query·the·type·of·entries·via·two·macros.\xd25 ·············One·can·query·the·type·of·entries·via·two·macros.\xd
26 ··············DENSEMTX·IS·REAL(mtx)·returns·1·if·the·matrix·has·real·entries,·and·0·otherwise.\xd26 ··············DENSEMTX·IS·REAL(mtx)·returns·1·if·the·matrix·has·real·entries,·and·0·otherwise.\xd
27 ··············DENSEMTX·IS·COMPLEX(mtx)·returns·1·if·the·matrix·has·complex·entries,·and·0·otherwise.\xd27 ··············DENSEMTX·IS·COMPLEX(mtx)·returns·1·if·the·matrix·has·complex·entries,·and·0·otherwise.\xd
28 ·············································1\xd28 ·············································1\xd
29 ··············2···························DenseMtx·:·DRAFT·January·15,·2021\xd29 ··············2···························DenseMtx·:·DRAFT·February·18,·2022\xd
30 ··············1.2···Prototypes·and·descriptions·of·DenseMtx·methods\xd30 ··············1.2···Prototypes·and·descriptions·of·DenseMtx·methods\xd
31 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·DenseMtx\xd31 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·DenseMtx\xd
32 ··············object.\xd32 ··············object.\xd
33 ··············1.2.1··Basic·methods\xd33 ··············1.2.1··Basic·methods\xd
34 ··············Asusual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing·any·allocated\xd34 ··············Asusual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing·any·allocated\xd
35 ··············data,·and·free’ing·the·object.\xd35 ··············data,·and·free’ing·the·object.\xd
36 ················1.·DenseMtx·*·DenseMtx_new·(·void·)·;\xd36 ················1.·DenseMtx·*·DenseMtx_new·(·void·)·;\xd
Offset 58, 15 lines modifiedOffset 58, 15 lines modified
58 ················3.·void·DenseMtx_dimensions·(·DenseMtx·*mtx,·int·*pnrow,·int·*pncol·)·;\xd58 ················3.·void·DenseMtx_dimensions·(·DenseMtx·*mtx,·int·*pnrow,·int·*pncol·)·;\xd
59 ··················This·method·fills·*pnrow·and·*pncol·with·nrow·and·ncol.\xd59 ··················This·method·fills·*pnrow·and·*pncol·with·nrow·and·ncol.\xd
60 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd60 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
61 ················4.·int·DenseMtx_columnIncrement·(·DenseMtx·*mtx·)·;\xd61 ················4.·int·DenseMtx_columnIncrement·(·DenseMtx·*mtx·)·;\xd
62 ··················This·method·returns·the·row·increment·of·the·object,·the·difference·in·memory·locations·of·two·entries\xd62 ··················This·method·returns·the·row·increment·of·the·object,·the·difference·in·memory·locations·of·two·entries\xd
63 ··················in·consecutive·columns·in·the·same·row.\xd63 ··················in·consecutive·columns·in·the·same·row.\xd
64 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd64 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
65 ···············································DenseMtx·:·DRAFT·····January·15,·2021···························3\xd65 ···············································DenseMtx·:·DRAFT····February·18,·2022···························3\xd
66 ··················5.·int·DenseMtx_rowIncrement·(·DenseMtx·*mtx·)·;\xd66 ··················5.·int·DenseMtx_rowIncrement·(·DenseMtx·*mtx·)·;\xd
67 ····················This·method·returns·the·row·increment·of·the·object,·the·difference·in·memory·locations·of·two·entries\xd67 ····················This·method·returns·the·row·increment·of·the·object,·the·difference·in·memory·locations·of·two·entries\xd
68 ····················in·consecutive·rows·in·the·same·column.\xd68 ····················in·consecutive·rows·in·the·same·column.\xd
69 ····················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd69 ····················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
70 ··················6.·void·DenseMtx_rowIndices·(·DenseMtx·*mtx,·int·*pnrow,·**prowind·)·;\xd70 ··················6.·void·DenseMtx_rowIndices·(·DenseMtx·*mtx,·int·*pnrow,·**prowind·)·;\xd
71 ····················This·method·fills·*pnrow·with·nrow,·the·number·of·rows,·and·*prowind·with·rowind,·a·pointer·to·the\xd71 ····················This·method·fills·*pnrow·with·nrow,·the·number·of·rows,·and·*prowind·with·rowind,·a·pointer·to·the\xd
72 ····················row·indices.\xd72 ····················row·indices.\xd
Offset 97, 15 lines modifiedOffset 97, 15 lines modified
97 ····················message·is·printed·and·the·program·exits.\xd97 ····················message·is·printed·and·the·program·exits.\xd
98 ·················13.·void·DenseMtx_setComplexEntry·(·DenseMtx·*mtx,·int·irow,·int·jcol,\xd98 ·················13.·void·DenseMtx_setComplexEntry·(·DenseMtx·*mtx,·int·irow,·int·jcol,\xd
99 ·······················································double·real,·double·imag·)·;\xd99 ·······················································double·real,·double·imag·)·;\xd
100 ····················This·method·sets·the·real·and·imaginary·parts·of·the·entry·in·row·irow·and·column·jcol·to·be\xd100 ····················This·method·sets·the·real·and·imaginary·parts·of·the·entry·in·row·irow·and·column·jcol·to·be\xd
101 ····················(real,imag).\xd101 ····················(real,imag).\xd
102 ····················Error·checking:·If·mtx·is·NULL,·or·if·the·matrix·is·not·complex,·or·if·irow·or·jcol·is·out·of·range,·an\xd102 ····················Error·checking:·If·mtx·is·NULL,·or·if·the·matrix·is·not·complex,·or·if·irow·or·jcol·is·out·of·range,·an\xd
103 ····················error·message·is·printed·and·the·program·exits.\xd103 ····················error·message·is·printed·and·the·program·exits.\xd
104 ················4·································DenseMtx·:·DRAFT·January·15,·2021\xd104 ················4································DenseMtx·:·DRAFT·February·18,·2022\xd
105 ·················14.·int·DenseMtx_row·(·DenseMtx·*mtx,·int·irow,·double·**prowent·)·;\xd105 ·················14.·int·DenseMtx_row·(·DenseMtx·*mtx,·int·irow,·double·**prowent·)·;\xd
106 ·····················This·method·fills·*prowent·with·the·first·location·of·the·entries·in·row·irow.\xd106 ·····················This·method·fills·*prowent·with·the·first·location·of·the·entries·in·row·irow.\xd
107 ·····················Return·codes:·1·is·a·normal·return,·-1·means·mtx·is·NULL,·-2·means·invalid·type·for·mtx,·-3·means\xd107 ·····················Return·codes:·1·is·a·normal·return,·-1·means·mtx·is·NULL,·-2·means·invalid·type·for·mtx,·-3·means\xd
108 ·····················irow·is·out-of-range,·-4·means·prowent·is·NULL.\xd108 ·····················irow·is·out-of-range,·-4·means·prowent·is·NULL.\xd
109 ·················15.·int·DenseMtx_column·(·DenseMtx·*mtx,·int·jcol,·double·**pcolent·)·;\xd109 ·················15.·int·DenseMtx_column·(·DenseMtx·*mtx,·int·jcol,·double·**pcolent·)·;\xd
110 ·····················This·method·fills·*pcolent·with·the·first·location·of·the·entries·in·column·jcol.\xd110 ·····················This·method·fills·*pcolent·with·the·first·location·of·the·entries·in·column·jcol.\xd
111 ·····················Return·codes:·1·is·a·normal·return,·-1·means·mtx·is·NULL,·-2·means·invalid·type·for·mtx,·-3·means\xd111 ·····················Return·codes:·1·is·a·normal·return,·-1·means·mtx·is·NULL,·-2·means·invalid·type·for·mtx,·-3·means\xd
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ···················4.·void·DenseMtx_initFromBuffer·(·DenseMtx·*mtx·)·;\xd139 ···················4.·void·DenseMtx_initFromBuffer·(·DenseMtx·*mtx·)·;\xd
140 ·····················This·method·initializes·the·object·using·information·present·in·the·workspace·buffer.·This·method·is\xd140 ·····················This·method·initializes·the·object·using·information·present·in·the·workspace·buffer.·This·method·is\xd
141 ·····················used·to·initialize·the·DenseMtx·object·when·it·has·been·received·as·an·MPI·message.\xd141 ·····················used·to·initialize·the·DenseMtx·object·when·it·has·been·received·as·an·MPI·message.\xd
142 ·····················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd142 ·····················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
143 ···················5.·void·DenseMtx_setA2·(·DenseMtx·*mtx,·A2·*a2·)·;\xd143 ···················5.·void·DenseMtx_setA2·(·DenseMtx·*mtx,·A2·*a2·)·;\xd
144 ·····················This·method·initializes·the·a2·object·to·point·into·the·entries·of·the·matrix.\xd144 ·····················This·method·initializes·the·a2·object·to·point·into·the·entries·of·the·matrix.\xd
145 ·····················Error·checking:·If·mtx·or·a2·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd145 ·····················Error·checking:·If·mtx·or·a2·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
146 ··········································DenseMtx·:·DRAFT··January·15,·2021······················5\xd146 ·········································DenseMtx·:·DRAFT··February·18,·2022······················5\xd
147 ··············1.2.4··Utility·methods\xd147 ··············1.2.4··Utility·methods\xd
148 ················1.·int·DenseMtx_nbytesNeeded·(·int·type,·int·nrow,·int·ncol·)·;\xd148 ················1.·int·DenseMtx_nbytesNeeded·(·int·type,·int·nrow,·int·ncol·)·;\xd
149 ··················This·method·returns·the·number·of·bytes·required·to·store·the·object’s·information·in·its·buffer.\xd149 ··················This·method·returns·the·number·of·bytes·required·to·store·the·object’s·information·in·its·buffer.\xd
150 ··················Error·checking:·If·type·is·neither·SPOOLES·REAL·nor·SPOOLES·COMPLEX,·or·if·nrow·or·ncol·is·less·than\xd150 ··················Error·checking:·If·type·is·neither·SPOOLES·REAL·nor·SPOOLES·COMPLEX,·or·if·nrow·or·ncol·is·less·than\xd
151 ··················zero,·an·error·message·is·printed·and·the·program·exits.\xd151 ··················zero,·an·error·message·is·printed·and·the·program·exits.\xd
152 ················2.·int·DenseMtx_nbytesInWorkspace·(·DenseMtx·*mtx·)·;\xd152 ················2.·int·DenseMtx_nbytesInWorkspace·(·DenseMtx·*mtx·)·;\xd
153 ··················This·method·returns·the·number·of·bytes·in·the·workspace·owned·by·this·object.\xd153 ··················This·method·returns·the·number·of·bytes·in·the·workspace·owned·by·this·object.\xd
Offset 174, 21 lines modifiedOffset 174, 21 lines modified
174 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd174 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
175 ················7.·void·DenseMtx_copyRow·(·DenseMtx·*mtxB,·int·irowB,·DenseMtx·*mtxA,·int·irowA·)·;\xd175 ················7.·void·DenseMtx_copyRow·(·DenseMtx·*mtxB,·int·irowB,·DenseMtx·*mtxA,·int·irowA·)·;\xd
176 ··················This·method·copies·row·irowA·from·matrix·mtxA·into·row·irowB·of·matrix·mtxB.\xd176 ··················This·method·copies·row·irowA·from·matrix·mtxA·into·row·irowB·of·matrix·mtxB.\xd
177 ··················Error·checking:·If·mtxB·is·NULL,·or·if·irowB·is·out·of·range,·or·if·mtxA·is·NULL,·or·if·irowA·is·out·of\xd177 ··················Error·checking:·If·mtxB·is·NULL,·or·if·irowB·is·out·of·range,·or·if·mtxA·is·NULL,·or·if·irowA·is·out·of\xd
178 ··················range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd178 ··················range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd
179 ··················the·program·exits.\xd179 ··················the·program·exits.\xd
180 ················8.·void·DenseMtx_copyRowAndIndex·(·DenseMtx·*mtxB,·int·irowB,\xd180 ················8.·void·DenseMtx_copyRowAndIndex·(·DenseMtx·*mtxB,·int·irowB,\xd
181 ·················································DenseMtx·*mtxA,·int·irowA·)·;\xd181 ················································DenseMtx·*mtxA,·int·irowA·)·;\xd
182 ··················This·method·copies·row·irowA·from·matrix·mtxA·into·row·irowB·of·matrix·mtxB,·and·copies·the·index\xd182 ··················This·method·copies·row·irowA·from·matrix·mtxA·into·row·irowB·of·matrix·mtxB,·and·copies·the·index\xd
183 ··················of·row·irowA·of·mtxA·into·location·irowB·of·the·row·indices·for·mtxB.\xd183 ··················of·row·irowA·of·mtxA·into·location·irowB·of·the·row·indices·for·mtxB.\xd
184 ··················Error·checking:·If·mtxB·is·NULL,·or·if·irowB·is·out·of·range,·or·if·mtxA·is·NULL,·or·if·irowA·is·out·of\xd184 ··················Error·checking:·If·mtxB·is·NULL,·or·if·irowB·is·out·of·range,·or·if·mtxA·is·NULL,·or·if·irowA·is·out·of\xd
185 ··················range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd185 ··················range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd
186 ··················the·program·exits.\xd186 ··················the·program·exits.\xd
187 ········6···············DenseMtx·:·DRAFT·January·15,·2021\xd187 ········6···············DenseMtx·:·DRAFT·February·18,·2022\xd
188 ·········9.·void·DenseMtx_addRow·(·DenseMtx·*mtxB,·int·irowB,·DenseMtx·*mtxA,·int·irowA·)·;\xd188 ·········9.·void·DenseMtx_addRow·(·DenseMtx·*mtxB,·int·irowB,·DenseMtx·*mtxA,·int·irowA·)·;\xd
189 ··········This·method·adds·row·irowA·from·matrix·mtxA·into·row·irowB·of·matrix·mtxB.\xd189 ··········This·method·adds·row·irowA·from·matrix·mtxA·into·row·irowB·of·matrix·mtxB.\xd
190 ··········Error·checking:·If·mtxB·is·NULL,·or·if·irowB·is·out·of·range,·or·if·mtxA·is·NULL,·or·if·irowA·is·out·of\xd190 ··········Error·checking:·If·mtxB·is·NULL,·or·if·irowB·is·out·of·range,·or·if·mtxA·is·NULL,·or·if·irowA·is·out·of\xd
191 ··········range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd191 ··········range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd
192 ··········the·program·exits.\xd192 ··········the·program·exits.\xd
193 ·········10.·void·DenseMtx_zero·(·DenseMtx·*mtx·)·;\xd193 ·········10.·void·DenseMtx_zero·(·DenseMtx·*mtx·)·;\xd
194 ··········This·method·zeros·the·entries·in·the·matrix.\xd194 ··········This·method·zeros·the·entries·in·the·matrix.\xd
Offset 219, 15 lines modifiedOffset 219, 15 lines modified
219 ··········This·method·copies·vector·vec[]·into·row·irow·of·matrix·mtx.\xd219 ··········This·method·copies·vector·vec[]·into·row·irow·of·matrix·mtx.\xd
220 ··········Error·checking:·If·mtx·or·vec·is·NULL,·or·if·irow·<·0·or·irow··nrow,·an·error·message·is·printed·and\xd220 ··········Error·checking:·If·mtx·or·vec·is·NULL,·or·if·irow·<·0·or·irow··nrow,·an·error·message·is·printed·and\xd
221 ··········the·program·exits.\xd221 ··········the·program·exits.\xd
222 ·········18.·double·DenseMtx_addVectorIntoRow·(·DenseMtx·*mtx,·int·irow,·double·vec[]·)·;\xd222 ·········18.·double·DenseMtx_addVectorIntoRow·(·DenseMtx·*mtx,·int·irow,·double·vec[]·)·;\xd
223 ··········This·method·adds·vector·vec[]·into·row·irow·of·matrix·mtx.\xd223 ··········This·method·adds·vector·vec[]·into·row·irow·of·matrix·mtx.\xd
224 ··········Error·checking:·If·mtx·or·vec·is·NULL,·or·if·irow·<·0·or·irow··nrow,·an·error·message·is·printed·and\xd224 ··········Error·checking:·If·mtx·or·vec·is·NULL,·or·if·irow·<·0·or·irow··nrow,·an·error·message·is·printed·and\xd
225 ··········the·program·exits.\xd225 ··········the·program·exits.\xd
226 ··········································DenseMtx·:·DRAFT··January·15,·2021······················7\xd226 ·········································DenseMtx·:·DRAFT··February·18,·2022······················7\xd
227 ··············1.2.5··IO·methods\xd227 ··············1.2.5··IO·methods\xd
228 ··············Thefile·structure·of·a·DenseMtxobject·is·simple.·First·comes·seven·scalars,·type,·rowid,·colid,·nrow,·ncol,\xd228 ··············Thefile·structure·of·a·DenseMtxobject·is·simple.·First·comes·seven·scalars,·type,·rowid,·colid,·nrow,·ncol,\xd
229 ··············inc1·and·inc2,·followed·by·the·row·indices,·followed·by·the·column·indices,·and·then·followed·by·the·matrix\xd229 ··············inc1·and·inc2,·followed·by·the·row·indices,·followed·by·the·column·indices,·and·then·followed·by·the·matrix\xd
230 ··············entries.\xd230 ··············entries.\xd
231 ················1.·int·DenseMtx_readFromFile·(·DenseMtx·*mtx,·char·*fn·)·;\xd231 ················1.·int·DenseMtx_readFromFile·(·DenseMtx·*mtx,·char·*fn·)·;\xd
232 ··················This·method·reads·an·DenseMtx·object·from·a·file.·If·the·the·file·can·be·opened·successfully,·the\xd232 ··················This·method·reads·an·DenseMtx·object·from·a·file.·If·the·the·file·can·be·opened·successfully,·the\xd
233 ··················method·calls·DenseMtx·readFromFormattedFile()·or·DenseMtx·readFromBinaryFile(),·closes·the\xd233 ··················method·calls·DenseMtx·readFromFormattedFile()·or·DenseMtx·readFromBinaryFile(),·closes·the\xd
Offset 258, 15 lines modifiedOffset 258, 15 lines modified
258 ··················Error·checking:·If·mtx·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd258 ··················Error·checking:·If·mtx·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
259 ················7.·int·DenseMtx_writeStats·(·DenseMtx·*mtx,·FILE·*fp·)·;\xd259 ················7.·int·DenseMtx_writeStats·(·DenseMtx·*mtx,·FILE·*fp·)·;\xd
260 ··················This·method·writes·out·a·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd260 ··················This·method·writes·out·a·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd
261 ··················Error·checking:·If·mtx·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd261 ··················Error·checking:·If·mtx·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
262 ················8.·void·DenseMtx_writeForHumanEye·(·DenseMtx·*mtx,·FILE·*fp·)·;\xd262 ················8.·void·DenseMtx_writeForHumanEye·(·DenseMtx·*mtx,·FILE·*fp·)·;\xd
263 ··················This·method·writes·a·DenseMtx·object·to·a·file·in·an·easily·readable·format.\xd263 ··················This·method·writes·a·DenseMtx·object·to·a·file·in·an·easily·readable·format.\xd
264 ··················Error·checking:·If·mtx·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd264 ··················Error·checking:·If·mtx·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
265 ··············8····························DenseMtx·:·DRAFT·January·15,·2021\xd265 ··············8····························DenseMtx·:·DRAFT·February·18,·2022\xd
266 ················9.·void·DenseMtx_writeForMatlab·(·DenseMtx·*mtx,·char·*mtxname,·FILE·*fp·)·;\xd266 ················9.·void·DenseMtx_writeForMatlab·(·DenseMtx·*mtx,·char·*mtxname,·FILE·*fp·)·;\xd
267 ···················This·method·writes·out·a·DenseMtx·object·to·a·file·in·a·Matlab·format.·A·sample·line·is\xd267 ···················This·method·writes·out·a·DenseMtx·object·to·a·file·in·a·Matlab·format.·A·sample·line·is\xd
268 ···················a(10,5)·=·-1.550328201511e-01·+···1.848033378871e+00*i·;\xd268 ···················a(10,5)·=·-1.550328201511e-01·+···1.848033378871e+00*i·;\xd
269 ···················for·complex·matrices,·or\xd269 ···················for·complex·matrices,·or\xd
270 ···················a(10,5)·=·-1.550328201511e-01·;\xd270 ···················a(10,5)·=·-1.550328201511e-01·;\xd
271 ···················for·real·matrices,·where·mtxname·=·"a".·The·matrix·indices·come·from·the·rowind[]·and·colind[]\xd271 ···················for·real·matrices,·where·mtxname·=·"a".·The·matrix·indices·come·from·the·rowind[]·and·colind[]\xd
272 ···················vectors,·and·are·incremented·by·one·to·follow·the·Matlab·and·FORTRAN·convention.\xd272 ···················vectors,·and·are·incremented·by·one·to·follow·the·Matlab·and·FORTRAN·convention.\xd
23.6 KB
./usr/share/doc/spooles-doc/Drand.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·1992341 gzip·compressed·data,·max·compression,·from·Unix,·original·size·199398
23.3 KB
Drand.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·596·8427 %%BoundingBox:·0·0·596·842
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMBX10·CMTT10·CMSY10·CMSL10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMBX10·CMTT10·CMSY10·CMSL10·CMTI10
9 %%DocumentPaperSizes:·a49 %%DocumentPaperSizes:·a4
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·Drand.ps12 %DVIPSCommandLine:·dvips·main·-o·Drand.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1014, 19 lines modifiedOffset 1014, 20 lines modified
1014 end·readonly·def1014 end·readonly·def
1015 /Encoding·256·array1015 /Encoding·256·array
1016 0·1·255·{1·index·exch·/.notdef·put}·for1016 0·1·255·{1·index·exch·/.notdef·put}·for
1017 dup·44·/comma·put1017 dup·44·/comma·put
1018 dup·48·/zero·put1018 dup·48·/zero·put
1019 dup·49·/one·put1019 dup·49·/one·put
1020 dup·50·/two·put1020 dup·50·/two·put
1021 dup·53·/five·put1021 dup·56·/eight·put
1022 dup·58·/colon·put1022 dup·58·/colon·put
1023 dup·74·/J·put1023 dup·70·/F·put
1024 dup·97·/a·put1024 dup·97·/a·put
 1025 dup·98·/b·put
1025 dup·110·/n·put1026 dup·101·/e·put
1026 dup·114·/r·put1027 dup·114·/r·put
1027 dup·117·/u·put1028 dup·117·/u·put
1028 dup·121·/y·put1029 dup·121·/y·put
1029 readonly·def1030 readonly·def
1030 currentdict·end1031 currentdict·end
1031 currentfile·eexec1032 currentfile·eexec
1032 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71033 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1210, 84 lines modifiedOffset 1211, 86 lines modified
1210 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1211 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1211 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821212 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1212 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1213 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1213 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51214 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1214 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051215 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1215 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051216 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1216 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671217 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1217 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041218 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1218 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1219 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1220 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1221 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1222 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1223 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1224 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1225 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1226 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1227 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1228 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1229 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1230 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1231 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1232 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1233 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1234 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1235 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1236 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1237 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1238 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1239 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1240 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1241 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1242 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1243 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1244 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1245 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1246 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1247 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1248 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1249 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1250 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1251 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1252 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1253 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1254 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1255 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1256 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1257 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1258 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1259 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1260 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1261 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1262 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1263 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1264 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1265 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1266 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1267 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1268 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1269 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1270 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1271 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1272 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1273 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1274 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1275 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1276 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1277 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1278 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1279 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1280 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1281 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1282 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1283 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1284 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1285 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1286 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51219 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1220 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1221 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1222 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1223 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1224 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1225 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1226 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1227 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1228 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1229 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1230 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1231 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1232 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 8947/20099 bytes (44.51%) of diff not shown.
3.68 KB
ps2ascii {}
    
Offset 15, 15 lines modifiedOffset 15, 15 lines modified
15 ··············double·mean·:·mean·for·a·normal·distribution\xd15 ··············double·mean·:·mean·for·a·normal·distribution\xd
16 ··············double·sigma·:·variation·for·a·normal·distribution\xd16 ··············double·sigma·:·variation·for·a·normal·distribution\xd
17 ··············int·mode:·mode·of·the·object,·uniform·is·1,·normal·is·2\xd17 ··············int·mode:·mode·of·the·object,·uniform·is·1,·normal·is·2\xd
18 ···········1.2··Prototypes·and·descriptions·of·Drand·methods\xd18 ···········1.2··Prototypes·and·descriptions·of·Drand·methods\xd
19 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd19 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
20 ···········Drand·object.\xd20 ···········Drand·object.\xd
21 ·············································1\xd21 ·············································1\xd
22 ··············2····························Drand·:·DRAFT·January·15,·2021\xd22 ··············2···························Drand·:·DRAFT·February·18,·2022\xd
23 ··············1.2.1··Basic·methods\xd23 ··············1.2.1··Basic·methods\xd
24 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd24 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
25 ··············any·allocated·data,·and·free’ing·the·object.\xd25 ··············any·allocated·data,·and·free’ing·the·object.\xd
26 ················1.·Drand·*·Drand_new·(·void·)·;\xd26 ················1.·Drand·*·Drand_new·(·void·)·;\xd
27 ···················This·method·simply·allocates·storage·for·the·Drand·structure·and·then·sets·the·default·fields\xd27 ···················This·method·simply·allocates·storage·for·the·Drand·structure·and·then·sets·the·default·fields\xd
28 ···················by·a·call·to·Drand·setDefaultFields().\xd28 ···················by·a·call·to·Drand·setDefaultFields().\xd
29 ················2.·void·Drand_setDefaultFields·(·Drand·*drand·)·;\xd29 ················2.·void·Drand_setDefaultFields·(·Drand·*drand·)·;\xd
Offset 47, 15 lines modifiedOffset 47, 15 lines modified
47 ················1.·void·Drand_init·(·Drand·*drand·)·;\xd47 ················1.·void·Drand_init·(·Drand·*drand·)·;\xd
48 ···················This·initializer·simply·sets·the·default·fields·with·a·call·to·Drand·setDefaultFields().\xd48 ···················This·initializer·simply·sets·the·default·fields·with·a·call·to·Drand·setDefaultFields().\xd
49 ···················Error·checking:·If·drand·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd49 ···················Error·checking:·If·drand·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
50 ················2.·void·Drand_setSeed·(·Drand·*drand,·int·seed1·)·;\xd50 ················2.·void·Drand_setSeed·(·Drand·*drand,·int·seed1·)·;\xd
51 ···················This·method·sets·the·random·number·seeds·using·a·single·input·seed.\xd51 ···················This·method·sets·the·random·number·seeds·using·a·single·input·seed.\xd
52 ···················Error·checking:·If·drand·is·NULL,·or·if·seed1··0,·or·if·seed1··2147483563,·an·error·message\xd52 ···················Error·checking:·If·drand·is·NULL,·or·if·seed1··0,·or·if·seed1··2147483563,·an·error·message\xd
53 ···················is·printed·and·the·program·exits.\xd53 ···················is·printed·and·the·program·exits.\xd
54 ······································Drand·:·DRAFT··January·15,·2021····················3\xd54 ·····································Drand·:·DRAFT···February·18,·2022···················3\xd
55 ···············3.·void·Drand_setSeeds·(·Drand·*drand,·int·seed1,·int·seed2·)·;\xd55 ···············3.·void·Drand_setSeeds·(·Drand·*drand,·int·seed1,·int·seed2·)·;\xd
56 ·················This·method·sets·the·random·number·seeds·using·two·input·seeds.\xd56 ·················This·method·sets·the·random·number·seeds·using·two·input·seeds.\xd
57 ·················Error·checking:·If·drand·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd57 ·················Error·checking:·If·drand·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
58 ·················Error·checking:·If·drand·is·NULL,·or·if·seed1··0,·or·if·seed1··2147483563,·or·if·seed2··0,\xd58 ·················Error·checking:·If·drand·is·NULL,·or·if·seed1··0,·or·if·seed1··2147483563,·or·if·seed2··0,\xd
59 ·················or·if·seed2··2147483399,·an·error·message·is·printed·and·the·program·exits.\xd59 ·················or·if·seed2··2147483399,·an·error·message·is·printed·and·the·program·exits.\xd
60 ···············4.·void·Drand_setNormal·(·Drand·*drand,·double·mean,·double·sigma·)·;\xd60 ···············4.·void·Drand_setNormal·(·Drand·*drand,·double·mean,·double·sigma·)·;\xd
61 ·················This·method·sets·the·mode·to·be·a·normal·distribution·with·mean·mean·and·variation·sigma.\xd61 ·················This·method·sets·the·mode·to·be·a·normal·distribution·with·mean·mean·and·variation·sigma.\xd
Offset 79, 15 lines modifiedOffset 79, 15 lines modified
79 ·················program·exits.\xd79 ·················program·exits.\xd
80 ···············4.·void·Drand_fillIvector·(·Drand·*drand,·int·n,·int·vec[]·)·;\xd80 ···············4.·void·Drand_fillIvector·(·Drand·*drand,·int·n,·int·vec[]·)·;\xd
81 ·················This·method·fills·vec[]·with·n·int·random·numbers.\xd81 ·················This·method·fills·vec[]·with·n·int·random·numbers.\xd
82 ·················Error·checking:·If·drand·or·vec·are·NULL·or·if·n·<·0·,·an·error·message·is·printed·and·the\xd82 ·················Error·checking:·If·drand·or·vec·are·NULL·or·if·n·<·0·,·an·error·message·is·printed·and·the\xd
83 ·················program·exits.\xd83 ·················program·exits.\xd
84 ············1.3···Driver·programs·for·the·Drand·object\xd84 ············1.3···Driver·programs·for·the·Drand·object\xd
85 ············This·section·contains·brief·descriptions·of·the·driver·programs.\xd85 ············This·section·contains·brief·descriptions·of·the·driver·programs.\xd
86 ·······4··············Drand·:·DRAFT·January·15,·2021\xd86 ·······4··············Drand·:·DRAFT·February·18,·2022\xd
87 ········1.·testDrand·msglvl·msgFile·distribution·param1·param2·seed1·seed2·n\xd87 ········1.·testDrand·msglvl·msgFile·distribution·param1·param2·seed1·seed2·n\xd
88 ··········This·driver·program·test·the·Drand·random·number·generator.\xd88 ··········This·driver·program·test·the·Drand·random·number·generator.\xd
89 ············The·msglvl·parameter·determines·the·amount·of·output.\xd89 ············The·msglvl·parameter·determines·the·amount·of·output.\xd
90 ············The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd90 ············The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
91 ············message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd91 ············message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd
92 ············data.\xd92 ············data.\xd
93 ············The·distribution·parameter·specifies·the·mode·of·the·object.·If·1,·the·distribution·is\xd93 ············The·distribution·parameter·specifies·the·mode·of·the·object.·If·1,·the·distribution·is\xd
35.6 KB
./usr/share/doc/spooles-doc/EGraph.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2292271 gzip·compressed·data,·max·compression,·from·Unix,·original·size·229402
35.3 KB
EGraph.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMMI8·CMTI10·CMSY108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMMI8·CMTI10·CMSY10
9 %%+·CMSL109 %%+·CMSL10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·EGraph.ps13 %DVIPSCommandLine:·dvips·main·-o·EGraph.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 709, 19 lines modifiedOffset 709, 20 lines modified
709 end·readonly·def709 end·readonly·def
710 /Encoding·256·array710 /Encoding·256·array
711 0·1·255·{1·index·exch·/.notdef·put}·for711 0·1·255·{1·index·exch·/.notdef·put}·for
712 dup·44·/comma·put712 dup·44·/comma·put
713 dup·48·/zero·put713 dup·48·/zero·put
714 dup·49·/one·put714 dup·49·/one·put
715 dup·50·/two·put715 dup·50·/two·put
716 dup·53·/five·put716 dup·56·/eight·put
717 dup·58·/colon·put717 dup·58·/colon·put
718 dup·74·/J·put718 dup·70·/F·put
719 dup·97·/a·put719 dup·97·/a·put
 720 dup·98·/b·put
720 dup·110·/n·put721 dup·101·/e·put
721 dup·114·/r·put722 dup·114·/r·put
722 dup·117·/u·put723 dup·117·/u·put
723 dup·121·/y·put724 dup·121·/y·put
724 readonly·def725 readonly·def
725 currentdict·end726 currentdict·end
726 currentfile·eexec727 currentfile·eexec
727 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7728 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 905, 84 lines modifiedOffset 906, 86 lines modified
905 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A906 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
906 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082907 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
907 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E908 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
908 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5909 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
909 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05910 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
910 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05911 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
911 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767912 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
912 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704913 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
913 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
914 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
915 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
916 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
917 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
918 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
919 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
920 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
921 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
922 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
923 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
924 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
925 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
926 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
927 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
928 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
929 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
930 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
931 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
932 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
933 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
934 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
935 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
936 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
937 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
938 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
939 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
940 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
941 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
942 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
943 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
944 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
945 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
946 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
947 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
948 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
949 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
950 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
951 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
952 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
953 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
954 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
955 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
956 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
957 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
958 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
959 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
960 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
961 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
962 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
963 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
964 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
965 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
966 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
967 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
968 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
969 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
970 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
971 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
972 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
973 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
974 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
975 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
976 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
977 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
978 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
979 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
980 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
981 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5914 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 915 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 916 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 917 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 918 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 919 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 920 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 921 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 922 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 923 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 924 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 925 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 926 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 927 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 18219/29351 bytes (62.07%) of diff not shown.
6.6 KB
ps2ascii {}
    
Offset 21, 15 lines modifiedOffset 21, 15 lines modified
21 ··············int·nvtx·:·number·of·vertices·in·the·graph\xd21 ··············int·nvtx·:·number·of·vertices·in·the·graph\xd
22 ··············IVL·*adjIVL·:·pointer·to·a·IVL·structure·that·holds·the·vertex·lists·for·the·elements.\xd22 ··············IVL·*adjIVL·:·pointer·to·a·IVL·structure·that·holds·the·vertex·lists·for·the·elements.\xd
23 ··············int·*vwghts·:·when·type·=·1,·vwghts·points·to·an·int·vector·of·size·nvtx·that·holds·the\xd23 ··············int·*vwghts·:·when·type·=·1,·vwghts·points·to·an·int·vector·of·size·nvtx·that·holds·the\xd
24 ···············node·weights.\xd24 ···············node·weights.\xd
25 ···········A·correctly·initialized·and·nontrivial·EGraph·object·will·have·positive·nelem·and·nvtx·values,·a\xd25 ···········A·correctly·initialized·and·nontrivial·EGraph·object·will·have·positive·nelem·and·nvtx·values,·a\xd
26 ···········valid·adjIVL·field.·If·type·=·1,·the·vwghts·will·be·non-NULL.\xd26 ···········valid·adjIVL·field.·If·type·=·1,·the·vwghts·will·be·non-NULL.\xd
27 ·············································1\xd27 ·············································1\xd
28 ··············2···························EGraph·:·DRAFT·January·15,·2021\xd28 ··············2···························EGraph·:·DRAFT·February·18,·2022\xd
29 ··············1.2···Prototypes·and·descriptions·of·EGraph·methods\xd29 ··············1.2···Prototypes·and·descriptions·of·EGraph·methods\xd
30 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd30 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
31 ··············EGraph·object.\xd31 ··············EGraph·object.\xd
32 ··············1.2.1··Basic·methods\xd32 ··············1.2.1··Basic·methods\xd
33 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd33 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
34 ··············any·allocated·data,·and·free’ing·the·object.\xd34 ··············any·allocated·data,·and·free’ing·the·object.\xd
35 ················1.·EGraph·*·EGraph_new·(·void·)·;\xd35 ················1.·EGraph·*·EGraph_new·(·void·)·;\xd
Offset 55, 15 lines modifiedOffset 55, 15 lines modified
55 ···················This·method·initializes·an·EGraph·object·given·the·type·of·vertices,·number·of·elements,\xd55 ···················This·method·initializes·an·EGraph·object·given·the·type·of·vertices,·number·of·elements,\xd
56 ···················number·of·vertices,·and·storage·type·for·the·IVL·element·list·object.·It·then·clears·any\xd56 ···················number·of·vertices,·and·storage·type·for·the·IVL·element·list·object.·It·then·clears·any\xd
57 ···················previous·data·with·a·call·to·EGraph·clearData().·The·IVL·object·is·initialized·by·a·call\xd57 ···················previous·data·with·a·call·to·EGraph·clearData().·The·IVL·object·is·initialized·by·a·call\xd
58 ···················to·IVL·init1().·If·type·=·1,·the·vwghts·is·initialized·via·a·call·to·IVinit().·See·the·IVL\xd58 ···················to·IVL·init1().·If·type·=·1,·the·vwghts·is·initialized·via·a·call·to·IVinit().·See·the·IVL\xd
59 ···················object·for·a·description·of·the·IVL·type·parameter.\xd59 ···················object·for·a·description·of·the·IVL·type·parameter.\xd
60 ···················Error·checking:·If·egraph·is·NULL·or·type·is·not·zero·or·one,·or·if·either·nelem·or·nvtx·are\xd60 ···················Error·checking:·If·egraph·is·NULL·or·type·is·not·zero·or·one,·or·if·either·nelem·or·nvtx·are\xd
61 ···················nonpositive,·an·error·message·is·printed·and·the·program·exits.\xd61 ···················nonpositive,·an·error·message·is·printed·and·the·program·exits.\xd
62 ·····································EGraph·:·DRAFT···January·15,·2021···················3\xd62 ·····································EGraph·:·DRAFT··February·18,·2022···················3\xd
63 ············1.2.3··Utility·methods\xd63 ············1.2.3··Utility·methods\xd
64 ···············1.·Graph·EGraph_mkAdjGraph·(·EGraph·*egraph·)·;\xd64 ···············1.·Graph·EGraph_mkAdjGraph·(·EGraph·*egraph·)·;\xd
65 ·················This·method·creates·and·returns·a·Graph·object·with·vertex·adjacency·lists·from·the·element\xd65 ·················This·method·creates·and·returns·a·Graph·object·with·vertex·adjacency·lists·from·the·element\xd
66 ·················graph·object.\xd66 ·················graph·object.\xd
67 ·················Error·checking:·If·egraph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd67 ·················Error·checking:·If·egraph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
68 ···············2.·EGraph·*·EGraph_make9P·(·int·n1,·int·n2,·int·ncomp·)·;\xd68 ···············2.·EGraph·*·EGraph_make9P·(·int·n1,·int·n2,·int·ncomp·)·;\xd
69 ·················This·method·creates·and·returns·a·EGraph·object·for·a·n1·×·n2·grid·for·a·9-point·operator\xd69 ·················This·method·creates·and·returns·a·EGraph·object·for·a·n1·×·n2·grid·for·a·9-point·operator\xd
Offset 92, 15 lines modifiedOffset 92, 15 lines modified
92 ·················This·method·reads·in·an·EGraph·object·from·a·formatted·file.·If·there·are·no·errors·in·reading\xd92 ·················This·method·reads·in·an·EGraph·object·from·a·formatted·file.·If·there·are·no·errors·in·reading\xd
93 ·················the·data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd93 ·················the·data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd
94 ·················Error·checking:·If·egraph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd94 ·················Error·checking:·If·egraph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
95 ···············3.·int·EGraph_readFromBinaryFile·(·EGraph·*egraph,·FILE·*fp·)·;\xd95 ···············3.·int·EGraph_readFromBinaryFile·(·EGraph·*egraph,·FILE·*fp·)·;\xd
96 ·················This·method·reads·in·an·EGraph·object·from·a·binary·file.·If·there·are·no·errors·in·reading\xd96 ·················This·method·reads·in·an·EGraph·object·from·a·binary·file.·If·there·are·no·errors·in·reading\xd
97 ·················the·data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd97 ·················the·data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd
98 ·················Error·checking:·If·egraph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd98 ·················Error·checking:·If·egraph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
99 ···········4······················EGraph·:·DRAFT·January·15,·2021\xd99 ···········4······················EGraph·:·DRAFT·February·18,·2022\xd
100 ·············4.·int·EGraph_writeToFile·(·EGraph·*egraph,·char·*fn·)·;\xd100 ·············4.·int·EGraph_writeToFile·(·EGraph·*egraph,·char·*fn·)·;\xd
101 ···············This·method·writes·an·EGraph·object·to·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,\xd101 ···············This·method·writes·an·EGraph·object·to·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,\xd
102 ···············it·then·calls·EGraph·writeFromFormattedFile()or·EGraph·writeFromBinaryFile(),closes\xd102 ···············it·then·calls·EGraph·writeFromFormattedFile()or·EGraph·writeFromBinaryFile(),closes\xd
103 ···············the·file·and·returns·the·value·returned·from·the·called·routine.\xd103 ···············the·file·and·returns·the·value·returned·from·the·called·routine.\xd
104 ···············Error·checking:·If·egraph·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.egraphf·(for·a\xd104 ···············Error·checking:·If·egraph·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.egraphf·(for·a\xd
105 ···············formatted·file)·or·*.egraphb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd105 ···············formatted·file)·or·*.egraphb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd
106 ···············returns·zero.\xd106 ···············returns·zero.\xd
Offset 128, 15 lines modifiedOffset 128, 15 lines modified
128 ···············binary·files·and·vice·versa.·One·can·also·read·in·a·EGraph·file·and·print·out·just·the·header\xd128 ···············binary·files·and·vice·versa.·One·can·also·read·in·a·EGraph·file·and·print·out·just·the·header\xd
129 ···············information·(see·the·EGraph·writeStats()·method).\xd129 ···············information·(see·the·EGraph·writeStats()·method).\xd
130 ··················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd130 ··················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd
131 ···················the·EGraph·object·is·written·to·the·message·file.\xd131 ···················the·EGraph·object·is·written·to·the·message·file.\xd
132 ··················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd132 ··················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
133 ···················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd133 ···················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd
134 ···················data.\xd134 ···················data.\xd
135 ·····································EGraph·:·DRAFT···January·15,·2021···················5\xd135 ·····································EGraph·:·DRAFT··February·18,·2022···················5\xd
136 ····················The·inFile·parameter·is·the·input·file·for·the·EGraph·object.·It·must·be·of·the·form\xd136 ····················The·inFile·parameter·is·the·input·file·for·the·EGraph·object.·It·must·be·of·the·form\xd
137 ·····················*.egraphfor*.egraphb.·TheEGraphobjectisreadfromthefileviatheEGraph·readFromFile()\xd137 ·····················*.egraphfor*.egraphb.·TheEGraphobjectisreadfromthefileviatheEGraph·readFromFile()\xd
138 ·····················method.\xd138 ·····················method.\xd
139 ····················The·outFileparameter·is·the·output·file·for·the·EGraph·object.·If·outFile·is·none·then\xd139 ····················The·outFileparameter·is·the·output·file·for·the·EGraph·object.·If·outFile·is·none·then\xd
140 ·····················the·EGraphobject·is·not·written·to·a·file.·Otherwise,·the·EGraph·writeToFile()method\xd140 ·····················the·EGraphobject·is·not·written·to·a·file.·Otherwise,·the·EGraph·writeToFile()method\xd
141 ·····················is·called·to·write·the·object·to·a·formatted·file·(if·outFile·is·of·the·form·*.egraphf),\xd141 ·····················is·called·to·write·the·object·to·a·formatted·file·(if·outFile·is·of·the·form·*.egraphf),\xd
142 ·····················or·a·binary·file·(if·outFile·is·of·the·form·*.egraphb).\xd142 ·····················or·a·binary·file·(if·outFile·is·of·the·form·*.egraphb).\xd
Offset 166, 15 lines modifiedOffset 166, 15 lines modified
166 ·····················data.\xd166 ·····················data.\xd
167 ····················n1·is·the·number·of·grid·points·in·the·first·direction,·must·be·greater·than·one.\xd167 ····················n1·is·the·number·of·grid·points·in·the·first·direction,·must·be·greater·than·one.\xd
168 ····················n2·is·the·number·of·grid·points·in·the·second·direction,·must·be·greater·than·one.\xd168 ····················n2·is·the·number·of·grid·points·in·the·second·direction,·must·be·greater·than·one.\xd
169 ····················n3·is·the·number·of·grid·points·in·the·third·direction,·must·be·greater·than·or·equal·to\xd169 ····················n3·is·the·number·of·grid·points·in·the·third·direction,·must·be·greater·than·or·equal·to\xd
170 ·····················one.\xd170 ·····················one.\xd
171 ····················ncomp·is·the·number·of·components·(i.e.,·the·number·of·degrees·of·freedom)·at·each·grid\xd171 ····················ncomp·is·the·number·of·components·(i.e.,·the·number·of·degrees·of·freedom)·at·each·grid\xd
172 ·····················point,·must·be·greater·than·or·equal·to·one.\xd172 ·····················point,·must·be·greater·than·or·equal·to·one.\xd
173 ·······6··············EGraph·:·DRAFT·January·15,·2021\xd173 ·······6·············EGraph·:·DRAFT·February·18,·2022\xd
174 ············TheoutEGraphFileparameteristheoutputfilefortheEGraphobject.·IfoutEGraphFile\xd174 ············TheoutEGraphFileparameteristheoutputfilefortheEGraphobject.·IfoutEGraphFile\xd
175 ············is·nonethentheEGraphobjectisnotwrittentoafile.·Otherwise,theEGraph·writeToFile()\xd175 ············is·nonethentheEGraphobjectisnotwrittentoafile.·Otherwise,theEGraph·writeToFile()\xd
176 ············method·is·called·to·write·the·object·to·a·formatted·file·(if·outEGraphFile·is·of·the·form\xd176 ············method·is·called·to·write·the·object·to·a·formatted·file·(if·outEGraphFile·is·of·the·form\xd
177 ············*.egraphf),·or·a·binary·file·(if·outEGraphFile·is·of·the·form·*.egraphb).\xd177 ············*.egraphf),·or·a·binary·file·(if·outEGraphFile·is·of·the·form·*.egraphb).\xd
178 ·······Index\xd178 ·······Index\xd
179 ·······EGraph·clearData(),·2\xd179 ·······EGraph·clearData(),·2\xd
180 ·······EGraph·free(),·2\xd180 ·······EGraph·free(),·2\xd
104 KB
./usr/share/doc/spooles-doc/ETree.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·5627221 gzip·compressed·data,·max·compression,·from·Unix,·original·size·563006
103 KB
ETree.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10·CMMI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10·CMMI10
9 %%+·CMBX10·CMR8·CMMI8·CMEX10·CMCSC10·Helvetica9 %%+·CMBX10·CMR8·CMMI8·CMEX10·CMCSC10·Helvetica
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·ETree.ps13 %DVIPSCommandLine:·dvips·main·-o·ETree.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 2923, 19 lines modifiedOffset 2923, 20 lines modified
2923 end·readonly·def2923 end·readonly·def
2924 /Encoding·256·array2924 /Encoding·256·array
2925 0·1·255·{1·index·exch·/.notdef·put}·for2925 0·1·255·{1·index·exch·/.notdef·put}·for
2926 dup·44·/comma·put2926 dup·44·/comma·put
2927 dup·48·/zero·put2927 dup·48·/zero·put
2928 dup·49·/one·put2928 dup·49·/one·put
2929 dup·50·/two·put2929 dup·50·/two·put
2930 dup·53·/five·put2930 dup·56·/eight·put
2931 dup·58·/colon·put2931 dup·58·/colon·put
2932 dup·74·/J·put2932 dup·70·/F·put
2933 dup·97·/a·put2933 dup·97·/a·put
 2934 dup·98·/b·put
2934 dup·110·/n·put2935 dup·101·/e·put
2935 dup·114·/r·put2936 dup·114·/r·put
2936 dup·117·/u·put2937 dup·117·/u·put
2937 dup·121·/y·put2938 dup·121·/y·put
2938 readonly·def2939 readonly·def
2939 currentdict·end2940 currentdict·end
2940 currentfile·eexec2941 currentfile·eexec
2941 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E72942 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 3119, 84 lines modifiedOffset 3120, 86 lines modified
3119 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A3120 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
3120 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380823121 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
3121 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E3122 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
3122 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A53123 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
3123 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B053124 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
3124 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C053125 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
3125 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97673126 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
3126 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7043127 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
3127 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
3128 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
3129 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
3130 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
3131 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
3132 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
3133 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
3134 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
3135 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
3136 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
3137 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
3138 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
3139 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
3140 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
3141 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
3142 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
3143 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
3144 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
3145 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
3146 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
3147 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
3148 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
3149 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
3150 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
3151 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
3152 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
3153 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
3154 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
3155 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
3156 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
3157 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
3158 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
3159 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
3160 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
3161 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
3162 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
3163 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
3164 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
3165 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
3166 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
3167 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
3168 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
3169 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
3170 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
3171 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
3172 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
3173 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
3174 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
3175 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
3176 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
3177 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
3178 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
3179 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
3180 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
3181 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
3182 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
3183 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
3184 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
3185 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
3186 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
3187 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
3188 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
3189 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
3190 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
3191 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
3192 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
3193 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
3194 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
3195 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE53128 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 3129 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 3130 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 3131 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 3132 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 3133 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 3134 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 3135 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 3136 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 3137 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 3138 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 3139 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 3140 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 3141 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 53300/64476 bytes (82.67%) of diff not shown.
40.4 KB
ps2ascii {}
    
Offset 21, 15 lines modifiedOffset 21, 15 lines modified
21 ··············int·nfront·:·number·of·fronts·in·the·tree\xd21 ··············int·nfront·:·number·of·fronts·in·the·tree\xd
22 ··············int·nvtx·:·number·of·vertices·in·the·tree\xd22 ··············int·nvtx·:·number·of·vertices·in·the·tree\xd
23 ··············Tree·*tree·:·pointer·to·a·Tree·structure\xd23 ··············Tree·*tree·:·pointer·to·a·Tree·structure\xd
24 ··············IV·*nodwghtsIV·:·pointer·to·an·IV·object·to·hold·front·weights,·size·nfront\xd24 ··············IV·*nodwghtsIV·:·pointer·to·an·IV·object·to·hold·front·weights,·size·nfront\xd
25 ··············IV·*bndwghtsIV·:·pointer·to·an·IV·object·to·hold·the·weights·of·the·fronts’·boundaries,·size\xd25 ··············IV·*bndwghtsIV·:·pointer·to·an·IV·object·to·hold·the·weights·of·the·fronts’·boundaries,·size\xd
26 ···············nfront\xd26 ···············nfront\xd
27 ·············································1\xd27 ·············································1\xd
28 ··············2····························ETree·:·DRAFT·January·15,·2021\xd28 ··············2···························ETree·:·DRAFT·February·18,·2022\xd
29 ··················IV·*vtxToFrontIV·:·pointer·to·an·IV·object·to·hold·the·map·from·vertices·to·fronts,·size\xd29 ··················IV·*vtxToFrontIV·:·pointer·to·an·IV·object·to·hold·the·map·from·vertices·to·fronts,·size\xd
30 ··················nfront\xd30 ··················nfront\xd
31 ··············A·correctly·initialized·and·nontrivial·ETree·object·will·have·positive·nfront·and·nvtx·values,·a\xd31 ··············A·correctly·initialized·and·nontrivial·ETree·object·will·have·positive·nfront·and·nvtx·values,·a\xd
32 ··············valid·tree·field·and·non-NULL·nodwghtsIV,·bndwghtsIV·and·vtxToFrontIV·pointers.\xd32 ··············valid·tree·field·and·non-NULL·nodwghtsIV,·bndwghtsIV·and·vtxToFrontIV·pointers.\xd
33 ··············1.2···Prototypes·and·descriptions·of·ETree·methods\xd33 ··············1.2···Prototypes·and·descriptions·of·ETree·methods\xd
34 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd34 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
35 ··············ETree·object.\xd35 ··············ETree·object.\xd
Offset 53, 15 lines modifiedOffset 53, 15 lines modified
53 ··················This·method·releases·any·storage·by·a·call·to·ETree·clearData()·then·free’s·the·storage·for\xd53 ··················This·method·releases·any·storage·by·a·call·to·ETree·clearData()·then·free’s·the·storage·for\xd
54 ··················the·structure·with·a·call·to·free().\xd54 ··················the·structure·with·a·call·to·free().\xd
55 ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd55 ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
56 ··············1.2.2··Instance·methods\xd56 ··············1.2.2··Instance·methods\xd
57 ················1.·int·ETree_nfront·(·ETree·*etree·)·;\xd57 ················1.·int·ETree_nfront·(·ETree·*etree·)·;\xd
58 ··················This·method·returns·the·number·of·fronts.\xd58 ··················This·method·returns·the·number·of·fronts.\xd
59 ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd59 ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
60 ············································ETree·:·DRAFT·····January·15,·2021··························3\xd60 ············································ETree·:·DRAFT·····February·18,·2022·························3\xd
61 ·················2.·int·ETree_nvtx·(·ETree·*etree·)·;\xd61 ·················2.·int·ETree_nvtx·(·ETree·*etree·)·;\xd
62 ····················This·method·returns·the·number·of·vertices.\xd62 ····················This·method·returns·the·number·of·vertices.\xd
63 ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd63 ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
64 ·················3.·Tree·*·ETree_tree·(·ETree·*etree·)·;\xd64 ·················3.·Tree·*·ETree_tree·(·ETree·*etree·)·;\xd
65 ····················This·method·returns·a·pointer·to·the·Tree·object.\xd65 ····················This·method·returns·a·pointer·to·the·Tree·object.\xd
66 ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd66 ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
67 ·················4.·int··ETree_root·(·ETree·*etree·)·;\xd67 ·················4.·int··ETree_root·(·ETree·*etree·)·;\xd
Offset 86, 15 lines modifiedOffset 86, 15 lines modified
86 ·················9.·int·*·ETree_nodwghts·(·ETree·*etree·)·;\xd86 ·················9.·int·*·ETree_nodwghts·(·ETree·*etree·)·;\xd
87 ····················This·method·returns·a·pointer·to·the·nodwghts·vector.\xd87 ····················This·method·returns·a·pointer·to·the·nodwghts·vector.\xd
88 ····················Error·checking:·If·etree·or·etree->nodwghtsIV·is·NULL,·an·error·message·is·printed·and·the\xd88 ····················Error·checking:·If·etree·or·etree->nodwghtsIV·is·NULL,·an·error·message·is·printed·and·the\xd
89 ····················program·exits.\xd89 ····················program·exits.\xd
90 ················10.·IV·*·ETree_bndwghtsIV·(·ETree·*etree·)·;\xd90 ················10.·IV·*·ETree_bndwghtsIV·(·ETree·*etree·)·;\xd
91 ····················This·method·returns·a·pointer·to·the·bndwghtsIV·object.\xd91 ····················This·method·returns·a·pointer·to·the·bndwghtsIV·object.\xd
92 ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd92 ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
93 ··············4····························ETree·:·DRAFT·January·15,·2021\xd93 ··············4···························ETree·:·DRAFT·February·18,·2022\xd
94 ···············11.·int·*·ETree_bndwghts·(·ETree·*etree·)·;\xd94 ···············11.·int·*·ETree_bndwghts·(·ETree·*etree·)·;\xd
95 ··················This·method·returns·a·pointer·to·the·bndwghts·vector.\xd95 ··················This·method·returns·a·pointer·to·the·bndwghts·vector.\xd
96 ··················Error·checking:·If·etree·or·etree->bndwghtsIV·is·NULL,·an·error·message·is·printed·and·the\xd96 ··················Error·checking:·If·etree·or·etree->bndwghtsIV·is·NULL,·an·error·message·is·printed·and·the\xd
97 ··················program·exits.\xd97 ··················program·exits.\xd
98 ···············12.·IV·*·ETree_vtxToFrontIV·(·ETree·*etree·)·;\xd98 ···············12.·IV·*·ETree_vtxToFrontIV·(·ETree·*etree·)·;\xd
99 ··················This·method·returns·a·pointer·to·the·vtxToFrontIV·object.\xd99 ··················This·method·returns·a·pointer·to·the·vtxToFrontIV·object.\xd
100 ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd100 ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
Offset 121, 15 lines modifiedOffset 121, 15 lines modified
121 ··················Error·checking:·If·etree·is·NULL,·or·if·symflag·is·invalid,·an·error·message·is·printed·and·the\xd121 ··················Error·checking:·If·etree·is·NULL,·or·if·symflag·is·invalid,·an·error·message·is·printed·and·the\xd
122 ··················program·exits.\xd122 ··················program·exits.\xd
123 ··············1.2.3··Initializer·methods\xd123 ··············1.2.3··Initializer·methods\xd
124 ··············There·are·four·initializer·methods.\xd124 ··············There·are·four·initializer·methods.\xd
125 ················1.·void·ETree_init1·(·ETree·*etree,·int·nfront,·int·nvtx·)·;\xd125 ················1.·void·ETree_init1·(·ETree·*etree,·int·nfront,·int·nvtx·)·;\xd
126 ··················This·method·initializes·an·ETree·object·given·the·number·of·fronts·and·number·of·vertices.\xd126 ··················This·method·initializes·an·ETree·object·given·the·number·of·fronts·and·number·of·vertices.\xd
127 ··················Anyprevious·data·is·cleared·with·a·call·to·ETree·clearData(),·The·Tree·object·is·initialized\xd127 ··················Anyprevious·data·is·cleared·with·a·call·to·ETree·clearData(),·The·Tree·object·is·initialized\xd
128 ······································ETree·:·DRAFT··January·15,·2021····················5\xd128 ······································ETree·:·DRAFT··February·18,·2022···················5\xd
129 ·················with·a·call·to·Tree·init1().·The·nodwghtsIV,·bndwghtsIV·and·vtxToFrontIV·objects·are\xd129 ·················with·a·call·to·Tree·init1().·The·nodwghtsIV,·bndwghtsIV·and·vtxToFrontIV·objects·are\xd
130 ·················initialized·with·calls·to·IV·init().·The·entries·in·nodwghtsIV·and·bndwghtsIV·are·set·to·0,\xd130 ·················initialized·with·calls·to·IV·init().·The·entries·in·nodwghtsIV·and·bndwghtsIV·are·set·to·0,\xd
131 ·················while·the·entries·in·vtxToFrontIV·are·set·to·-1.\xd131 ·················while·the·entries·in·vtxToFrontIV·are·set·to·-1.\xd
132 ·················Error·checking:·If·etree·is·NULL,·or·if·nfront·is·negative,·or·if·nvtx·<·nfront,·an·error\xd132 ·················Error·checking:·If·etree·is·NULL,·or·if·nfront·is·negative,·or·if·nvtx·<·nfront,·an·error\xd
133 ·················message·is·printed·and·the·program·exits.\xd133 ·················message·is·printed·and·the·program·exits.\xd
134 ···············2.·void·ETree_initFromGraph·(·ETree·*etree,·Graph·*g·)·;\xd134 ···············2.·void·ETree_initFromGraph·(·ETree·*etree,·Graph·*g·)·;\xd
135 ·················This·method·generates·an·elimination·tree·from·a·graph.·The·nodwghtsIV·vector·object·is\xd135 ·················This·method·generates·an·elimination·tree·from·a·graph.·The·nodwghtsIV·vector·object·is\xd
Offset 160, 15 lines modifiedOffset 160, 15 lines modified
160 ·················permutes·to·vertex-to-front·map,·and·returns·an·IV·object·that·contains·the·old-to-new\xd160 ·················permutes·to·vertex-to-front·map,·and·returns·an·IV·object·that·contains·the·old-to-new\xd
161 ·················permutation.\xd161 ·················permutation.\xd
162 ·················Error·checking:·If·etree·is·NULL·or·inETreeFileName·is·“none”,·an·error·message·is·printed\xd162 ·················Error·checking:·If·etree·is·NULL·or·inETreeFileName·is·“none”,·an·error·message·is·printed\xd
163 ·················and·the·program·exits.\xd163 ·················and·the·program·exits.\xd
164 ···············6.·int·ETree_initFromSubtree·(·ETree·*subtree,·IV·*nodeidsIV,·ETree·*etree,·IV·*vtxIV·)·;\xd164 ···············6.·int·ETree_initFromSubtree·(·ETree·*subtree,·IV·*nodeidsIV,·ETree·*etree,·IV·*vtxIV·)·;\xd
165 ·················This·method·initializes·subtree·from·tree·using·the·nodes·of·etree·that·are·found·in\xd165 ·················This·method·initializes·subtree·from·tree·using·the·nodes·of·etree·that·are·found·in\xd
166 ·················nodeidsIV.·The·map·from·nodes·in·subtree·to·nodes·in·etree·is·returned·in·vtxIV.\xd166 ·················nodeidsIV.·The·map·from·nodes·in·subtree·to·nodes·in·etree·is·returned·in·vtxIV.\xd
167 ···············6·······························ETree·:·DRAFT·January·15,·2021\xd167 ···············6······························ETree·:·DRAFT·February·18,·2022\xd
168 ····················Return·code:···1·for·a·normal·return,·-1·if·subtree·is·NULL,·-2·if·nodeidsIV·is·NULL,·-3·if\xd168 ····················Return·code:···1·for·a·normal·return,·-1·if·subtree·is·NULL,·-2·if·nodeidsIV·is·NULL,·-3·if\xd
169 ····················etree·is·NULL,·-4·if·nodeidsIV·is·invalid,·-5·if·vtxIV·is·NULL.\xd169 ····················etree·is·NULL,·-4·if·nodeidsIV·is·invalid,·-5·if·vtxIV·is·NULL.\xd
170 ···············1.2.4···Utility·methods\xd170 ···············1.2.4···Utility·methods\xd
171 ···············Theutility·methods·return·the·number·of·bytes·taken·by·the·object,·or·the·number·of·factor·indices,\xd171 ···············Theutility·methods·return·the·number·of·bytes·taken·by·the·object,·or·the·number·of·factor·indices,\xd
172 ···············entries·or·operations·required·by·the·object.\xd172 ···············entries·or·operations·required·by·the·object.\xd
173 ··················1.·int·ETree_sizeOf·(·ETree·*etree·)·;\xd173 ··················1.·int·ETree_sizeOf·(·ETree·*etree·)·;\xd
174 ····················This·method·returns·the·number·of·bytes·taken·by·this·object·(which·includes·the·bytes·taken\xd174 ····················This·method·returns·the·number·of·bytes·taken·by·this·object·(which·includes·the·bytes·taken\xd
Offset 195, 15 lines modifiedOffset 195, 15 lines modified
195 ····················Error·checking:·If·etree·or·tree·is·NULL,·or·if·nfront·<·1,·or·if·nvtx·<·1,·or·if·type·or\xd195 ····················Error·checking:·If·etree·or·tree·is·NULL,·or·if·nfront·<·1,·or·if·nvtx·<·1,·or·if·type·or\xd
196 ····················symflag·is·invalid,·an·error·message·is·printed·and·the·program·exits.\xd196 ····················symflag·is·invalid,·an·error·message·is·printed·and·the·program·exits.\xd
197 ··················5.·double·ETree_nFactorEntriesInFront·(·ETree·*etree,·int·symflag,·int·J·)·;\xd197 ··················5.·double·ETree_nFactorEntriesInFront·(·ETree·*etree,·int·symflag,·int·J·)·;\xd
198 ····················ThismethodreturnsthenumberofentriesinfrontJforanLU·factorization.·Thesymflagpa-\xd198 ····················ThismethodreturnsthenumberofentriesinfrontJforanLU·factorization.·Thesymflagpa-\xd
199 ····················rameter·can·be·one·of·SPOOLES·SYMMETRIC,·SPOOLES·HERMITIAN·or·SPOOLES·NONSYMMETRIC.\xd199 ····················rameter·can·be·one·of·SPOOLES·SYMMETRIC,·SPOOLES·HERMITIAN·or·SPOOLES·NONSYMMETRIC.\xd
200 ····················Error·checking:·If·etree·or·tree·is·NULL,·or·if·nfront·<·1,·or·if·symflag·is·invalid,·or·if\xd200 ····················Error·checking:·If·etree·or·tree·is·NULL,·or·if·nfront·<·1,·or·if·symflag·is·invalid,·or·if\xd
201 ····················J·<·0,·or·if·J··nfront,·an·error·message·is·printed·and·the·program·exits.\xd201 ····················J·<·0,·or·if·J··nfront,·an·error·message·is·printed·and·the·program·exits.\xd
202 ······································ETree·:·DRAFT··January·15,·2021····················7\xd202 ······································ETree·:·DRAFT··February·18,·2022···················7\xd
203 ···············6.·double·ETree_nInternalOpsInFront·(·ETree·*etree,·int·type,·int·symflag,·int·J·)·;\xd203 ···············6.·double·ETree_nInternalOpsInFront·(·ETree·*etree,·int·type,·int·symflag,·int·J·)·;\xd
204 ·················ThismethodreturnsthenumberofinternaloperationsperformedbyfrontJonits(1,1),·(2,1),\xd204 ·················ThismethodreturnsthenumberofinternaloperationsperformedbyfrontJonits(1,1),·(2,1),\xd
205 ·················and·(1,2)·blocks·during·a·factorization.·The·type·parameter·can·be·one·of·SPOOLES·REAL\xd205 ·················and·(1,2)·blocks·during·a·factorization.·The·type·parameter·can·be·one·of·SPOOLES·REAL\xd
206 ·················or·SPOOLES·COMPLEX.·symflag·must·be·one·of·SPOOLES·SYMMETRIC,·SPOOLES·HERMITIAN·or\xd206 ·················or·SPOOLES·COMPLEX.·symflag·must·be·one·of·SPOOLES·SYMMETRIC,·SPOOLES·HERMITIAN·or\xd
207 ·················SPOOLES·NONSYMMETRIC.\xd207 ·················SPOOLES·NONSYMMETRIC.\xd
208 ·················Error·checking:·If·etree·or·tree·is·NULL,·or·if·nfront·<·1,·or·if·type·or·symflag·is·invalid,\xd208 ·················Error·checking:·If·etree·or·tree·is·NULL,·or·if·nfront·<·1,·or·if·type·or·symflag·is·invalid,\xd
209 ·················or·if·J·<·0,·or·if·J··nfront,·an·error·message·is·printed·and·the·program·exits.\xd209 ·················or·if·J·<·0,·or·if·J··nfront,·an·error·message·is·printed·and·the·program·exits.\xd
Offset 233, 15 lines modifiedOffset 233, 15 lines modified
233 ·················Error·checking:·If·etree·is·NULL,·or·if·type·or·symflag·is·invalid,·an·error·message·is·printed\xd233 ·················Error·checking:·If·etree·is·NULL,·or·if·type·or·symflag·is·invalid,·an·error·message·is·printed\xd
234 ·················and·the·program·exits.\xd234 ·················and·the·program·exits.\xd
235 ··············11.·ETree·*·ETree_expand·(·ETree·*etree,·IV·*eqmapIV·)·;\xd235 ··············11.·ETree·*·ETree_expand·(·ETree·*etree,·IV·*eqmapIV·)·;\xd
236 ·················This·method·creates·and·returns·an·ETree·object·for·an·uncompressed·graph.·The·map·from\xd236 ·················This·method·creates·and·returns·an·ETree·object·for·an·uncompressed·graph.·The·map·from\xd
237 ·················compressed·vertices·to·uncompressed·vertices·is·found·in·the·eqmapIV·object.\xd237 ·················compressed·vertices·to·uncompressed·vertices·is·found·in·the·eqmapIV·object.\xd
238 ·················Error·checking:·If·etree·or·eqmapIV·is·NULL,·an·error·message·is·printed·and·the·program\xd238 ·················Error·checking:·If·etree·or·eqmapIV·is·NULL,·an·error·message·is·printed·and·the·program\xd
239 ·················exits.\xd239 ·················exits.\xd
240 ··············8····························ETree·:·DRAFT·January·15,·2021\xd240 ··············8···························ETree·:·DRAFT·February·18,·2022\xd
241 ···············12.·ETree·*·ETree_spliceTwoEtrees·(·ETree·*etree0,·Graph·*graph,·IV·*mapIV,·ETree·*etree1·)·;\xd241 ···············12.·ETree·*·ETree_spliceTwoEtrees·(·ETree·*etree0,·Graph·*graph,·IV·*mapIV,·ETree·*etree1·)·;\xd
242 ··················This·method·creates·and·returns·an·ETree·object·that·is·formed·by·splicing·together·two\xd242 ··················This·method·creates·and·returns·an·ETree·object·that·is·formed·by·splicing·together·two\xd
243 ··················front·trees,·etree0·for·the·vertices·the·eliminated·domains,·etree1·for·the·vertices·the·Schur\xd243 ··················front·trees,·etree0·for·the·vertices·the·eliminated·domains,·etree1·for·the·vertices·the·Schur\xd
244 ··················complement.·The·mapIV·object·maps·vertices·to·domains·or·the·Schur·complement··if·the\xd244 ··················complement.·The·mapIV·object·maps·vertices·to·domains·or·the·Schur·complement··if·the\xd
245 ··················entry·is·0,·the·vertex·is·in·the·Schur·complement,·otherwise·it·is·in·a·domain.\xd245 ··················entry·is·0,·the·vertex·is·in·the·Schur·complement,·otherwise·it·is·in·a·domain.\xd
246 ··················Error·checking:·If·etree0,·graph,·mapIV·or·etree1·is·NULL,·an·error·message·is·printed·and\xd246 ··················Error·checking:·If·etree0,·graph,·mapIV·or·etree1·is·NULL,·an·error·message·is·printed·and\xd
247 ··················the·program·exits.\xd247 ··················the·program·exits.\xd
Offset 266, 15 lines modifiedOffset 266, 15 lines modified
266 ················3.·DV·*·ETree_nopsMetric·(·ETree·*etree,·int·type,·int·symflag·)·;\xd266 ················3.·DV·*·ETree_nopsMetric·(·ETree·*etree,·int·type,·int·symflag·)·;\xd
267 ··················AnDVobjectofsize·nfrontis·created·and·returned.·Each·entry·of·the·vector·is·filled·with·the\xd267 ··················AnDVobjectofsize·nfrontis·created·and·returned.·Each·entry·of·the·vector·is·filled·with·the\xd
268 ··················number·of·factor·operations·associated·with·the·corresponding·front.·The·type·parameter\xd268 ··················number·of·factor·operations·associated·with·the·corresponding·front.·The·type·parameter\xd
269 ··················can·be·one·of·SPOOLES·REAL·or·SPOOLES·COMPLEX.·The·symflag·parameter·can·be·one·of\xd269 ··················can·be·one·of·SPOOLES·REAL·or·SPOOLES·COMPLEX.·The·symflag·parameter·can·be·one·of\xd
270 ··················SPOOLES·SYMMETRIC,·SPOOLES·HERMITIAN·or·SPOOLES·NONSYMMETRIC.\xd270 ··················SPOOLES·SYMMETRIC,·SPOOLES·HERMITIAN·or·SPOOLES·NONSYMMETRIC.\xd
271 ··················Error·checking:·If·etree·is·NULL,·or·if·nfront·<·1,·or·if·nvtx·<·1,·or·if·type·or·symflag·is\xd271 ··················Error·checking:·If·etree·is·NULL,·or·if·nfront·<·1,·or·if·nvtx·<·1,·or·if·type·or·symflag·is\xd
272 ··················invalid,·an·error·message·is·printed·and·the·program·exits.\xd272 ··················invalid,·an·error·message·is·printed·and·the·program·exits.\xd
273 ················································ETree·:·DRAFT······January·15,·2021····························9\xd273 ···············································ETree·:·DRAFT·······February·18,·2022···························9\xd
274 ···············1.2.6····Compression·methods\xd274 ···············1.2.6····Compression·methods\xd
275 ···············Frequently·an·ETree·object·will·need·to·be·compressed·in·some·manner.·Elimination·trees·usually\xd275 ···············Frequently·an·ETree·object·will·need·to·be·compressed·in·some·manner.·Elimination·trees·usually\xd
276 ···············have·long·chains·of·vertices·at·the·higher·levels,·where·each·chain·of·vertices·corresponds·to·a\xd276 ···············have·long·chains·of·vertices·at·the·higher·levels,·where·each·chain·of·vertices·corresponds·to·a\xd
277 ···············supernode.·Liu’s·generalized·row·envelope·methods·partition·the·vertices·by·longest·chains·[?].·In\xd277 ···············supernode.·Liu’s·generalized·row·envelope·methods·partition·the·vertices·by·longest·chains·[?].·In\xd
278 ···············both·cases,·we·can·construct·a·map·from·each·node·to·a·set·of·nodes·to·define·a·smaller,·more\xd278 ···············both·cases,·we·can·construct·a·map·from·each·node·to·a·set·of·nodes·to·define·a·smaller,·more\xd
279 ···············compact·ETree·object.·Given·such·a·map,·we·construct·the·smaller·etree.\xd279 ···············compact·ETree·object.·Given·such·a·map,·we·construct·the·smaller·etree.\xd
280 ···················Afundamental·chain·is·a·set·of·vertices·v·,...,v···such·that\xd280 ···················Afundamental·chain·is·a·set·of·vertices·v·,...,v···such·that\xd
Max diff block lines reached; 30245/41380 bytes (73.09%) of diff not shown.
183 KB
./usr/share/doc/spooles-doc/Eigen.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·5453181 gzip·compressed·data,·max·compression,·from·Unix,·original·size·546187
182 KB
Eigen.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMR17·CMBX12·CMR12·CMR8·CMR6·CMR9·CMTT9·CMBX10·CMR108 %%DocumentFonts:·CMR17·CMBX12·CMR12·CMR8·CMR6·CMR9·CMTT9·CMBX10·CMR10
9 %%+·CMTT10·CMMI10·CMSY10·CMEX10·CMMI7·CMSL10·CMTT12·CMTI109 %%+·CMTT10·CMMI10·CMSY10·CMEX10·CMMI7·CMSL10·CMTT12·CMTI10
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·Eigen.ps13 %DVIPSCommandLine:·dvips·main·-o·Eigen.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1136, 19 lines modifiedOffset 1136, 20 lines modified
1136 end·readonly·def1136 end·readonly·def
1137 /Encoding·256·array1137 /Encoding·256·array
1138 0·1·255·{1·index·exch·/.notdef·put}·for1138 0·1·255·{1·index·exch·/.notdef·put}·for
1139 dup·44·/comma·put1139 dup·44·/comma·put
1140 dup·48·/zero·put1140 dup·48·/zero·put
1141 dup·49·/one·put1141 dup·49·/one·put
1142 dup·50·/two·put1142 dup·50·/two·put
1143 dup·53·/five·put1143 dup·56·/eight·put
1144 dup·58·/colon·put1144 dup·58·/colon·put
1145 dup·74·/J·put1145 dup·70·/F·put
1146 dup·97·/a·put1146 dup·97·/a·put
 1147 dup·98·/b·put
1147 dup·110·/n·put1148 dup·101·/e·put
1148 dup·114·/r·put1149 dup·114·/r·put
1149 dup·117·/u·put1150 dup·117·/u·put
1150 dup·121·/y·put1151 dup·121·/y·put
1151 readonly·def1152 readonly·def
1152 currentdict·end1153 currentdict·end
1153 currentfile·eexec1154 currentfile·eexec
1154 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71155 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1332, 84 lines modifiedOffset 1333, 86 lines modified
1332 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1333 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1333 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821334 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1334 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1335 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1335 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51336 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1336 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051337 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1337 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051338 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1338 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671339 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1339 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041340 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1340 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1341 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1342 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1343 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1344 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1345 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1346 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1347 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1348 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1349 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1350 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1351 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1352 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1353 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1354 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1355 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1356 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1357 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1358 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1359 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1360 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1361 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1362 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1363 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1364 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1365 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1366 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1367 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1368 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1369 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1370 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1371 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1372 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1373 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1374 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1375 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1376 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1377 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1378 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1379 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1380 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1381 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1382 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1383 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1384 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1385 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1386 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1387 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1388 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1389 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1390 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1391 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1392 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1393 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1394 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1395 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1396 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1397 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1398 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1399 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1400 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1401 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1402 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1403 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1404 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1405 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1406 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1407 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1408 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51341 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1342 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1343 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1344 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1345 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1346 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1347 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1348 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1349 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1350 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1351 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1352 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1353 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1354 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 68081/79267 bytes (85.89%) of diff not shown.
105 KB
ps2ascii {}
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
1 ····················Integrating·the·SPOOLES·2.2·Sparse·Linear·Algebra·Library\xd1 ····················Integrating·the·SPOOLES·2.2·Sparse·Linear·Algebra·Library\xd
2 ·························into·the·LANCZOS·Block-shifted·Lanczos·Eigensolver\xd2 ·························into·the·LANCZOS·Block-shifted·Lanczos·Eigensolver\xd
3 ··········································Cleve·Ashcraft·······················Jim·Patterson\xd3 ··········································Cleve·Ashcraft·······················Jim·Patterson\xd
4 ····································Boeing·Phantom·Works1················Boeing·Phantom·Works2\xd4 ····································Boeing·Phantom·Works1················Boeing·Phantom·Works2\xd
5 ···························································January·15,·2021\xd5 ···························································February·18,·2022\xd
6 ···················1P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,·cleve.ashcraft@boeing.com.·This·research\xd6 ···················1P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,·cleve.ashcraft@boeing.com.·This·research\xd
7 ·················was·supported·in·part·by·the·DARPA·Contract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing\xd7 ·················was·supported·in·part·by·the·DARPA·Contract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing\xd
8 ·················Modernization·Program·Common·HPC·Software·Support·Initiative.\xd8 ·················Modernization·Program·Common·HPC·Software·Support·Initiative.\xd
9 ···················2P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,·pattersn@redwood.rt.cs.boeing.com.·This·re-\xd9 ···················2P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,·pattersn@redwood.rt.cs.boeing.com.·This·re-\xd
10 ·················search·was·supportedin·part·bytheDARPAContractDABT63-95-C-0122·andtheDoDHighPerformanceComputing\xd10 ·················search·was·supportedin·part·bytheDARPAContractDABT63-95-C-0122·andtheDoDHighPerformanceComputing\xd
11 ·················Modernization·Program·Common·HPC·Software·Support·Initiative.\xd11 ·················Modernization·Program·Common·HPC·Software·Support·Initiative.\xd
12 ··················Contents\xd12 ··················Contents\xd
Offset 55, 15 lines modifiedOffset 55, 15 lines modified
55 ·····································b····b\xd55 ·····································b····b\xd
56 ··············izations·and·solves·involving·A·and·B.·This·permutation·matrix·P·is·typically·found·by·ordering·the·graph\xd56 ··············izations·and·solves·involving·A·and·B.·This·permutation·matrix·P·is·typically·found·by·ordering·the·graph\xd
57 ··············of·A·+B·using·a·variant·of·minimum·degree·or·nested·dissection.·The·ordering·is·performed·prior·to·any\xd57 ··············of·A·+B·using·a·variant·of·minimum·degree·or·nested·dissection.·The·ordering·is·performed·prior·to·any\xd
58 ··············action·by·the·eigensolver.·This·“setup·phase”·includes·more·than·just·finding·the·permutation·matrix,·e.g.,\xd58 ··············action·by·the·eigensolver.·This·“setup·phase”·includes·more·than·just·finding·the·permutation·matrix,·e.g.,\xd
59 ··············various·data·structures·must·be·initialized.·In·a·parallel·environment,·there·is·even·more·setup·work·to·do,\xd59 ··············various·data·structures·must·be·initialized.·In·a·parallel·environment,·there·is·even·more·setup·work·to·do,\xd
60 ··············analyzing·the·factorization·and·solves·and·specifying·which·threads·or·processors·perform·what·computations\xd60 ··············analyzing·the·factorization·and·solves·and·specifying·which·threads·or·processors·perform·what·computations\xd
61 ························································2\xd61 ························································2\xd
62 ·································SPOOLES·2.2·Wrapper·Objects·:···January·15,·2021·············3\xd62 ·································SPOOLES·2.2·Wrapper·Objects·:··February·18,·2022·············3\xd
63 ·············and·store·what·data.·In·a·distributed·environment,·the·entries·of·A·and·B·must·also·be·distributed·among\xd63 ·············and·store·what·data.·In·a·distributed·environment,·the·entries·of·A·and·B·must·also·be·distributed·among\xd
64 ·············the·processors·in·preparation·for·the·factors·and·multiplies.\xd64 ·············the·processors·in·preparation·for·the·factors·and·multiplies.\xd
65 ················For·each·of·the·three·environments··serial,·multithreaded·and·MPI··the·SPOOLES·solver·has\xd65 ················For·each·of·the·three·environments··serial,·multithreaded·and·MPI··the·SPOOLES·solver·has\xd
66 ·············constructed·a·“bridge”·object·to·span·the·interface·between·the·linear·system·solver·and·the·eigensolver.\xd66 ·············constructed·a·“bridge”·object·to·span·the·interface·between·the·linear·system·solver·and·the·eigensolver.\xd
67 ·············Each·of·the·Bridge,·BridgeMT·and·BridgeMPI·objects·have·five·methods:·set-up,·factor,·solve,·matrix-\xd67 ·············Each·of·the·Bridge,·BridgeMT·and·BridgeMPI·objects·have·five·methods:·set-up,·factor,·solve,·matrix-\xd
68 ·············multiply·and·cleanup.·The·factor,·solve·and·matrix-multiply·methods·follow·the·calling·sequence·convention\xd68 ·············multiply·and·cleanup.·The·factor,·solve·and·matrix-multiply·methods·follow·the·calling·sequence·convention\xd
69 ·············imposed·by·the·eigensolver,·and·are·passed·to·the·eigensolver·at·the·beginning·of·the·Lanczos·run.·The\xd69 ·············imposed·by·the·eigensolver,·and·are·passed·to·the·eigensolver·at·the·beginning·of·the·Lanczos·run.·The\xd
Offset 91, 15 lines modifiedOffset 91, 15 lines modified
91 ···············and·are·used·in·the·solves.\xd91 ···············and·are·used·in·the·solves.\xd
92 ··············FrontMtx·*frontmtx·:·object·that·stores·the·L,·D·and·U·factor·matrices.\xd92 ··············FrontMtx·*frontmtx·:·object·that·stores·the·L,·D·and·U·factor·matrices.\xd
93 ··············IV·*oldToNewIV·:·object·that·stores·old-to-new·permutation·vector.\xd93 ··············IV·*oldToNewIV·:·object·that·stores·old-to-new·permutation·vector.\xd
94 ··············IV·*newToOldIV·:·object·that·stores·new-to-old·permutation·vector.\xd94 ··············IV·*newToOldIV·:·object·that·stores·new-to-old·permutation·vector.\xd
95 ··············DenseMtx·*X·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd95 ··············DenseMtx·*X·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd
96 ··············DenseMtx·*Y·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd96 ··············DenseMtx·*Y·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd
97 ·············································4\xd97 ·············································4\xd
98 ·································SPOOLES·2.2·Wrapper·Objects·:···January·15,·2021·············5\xd98 ·································SPOOLES·2.2·Wrapper·Objects·:··February·18,·2022·············5\xd
99 ·················int·msglvl·:·message·level·for·output.·When·0,·no·output,·When·1,·just·statistics·and·cpu·times.\xd99 ·················int·msglvl·:·message·level·for·output.·When·0,·no·output,·When·1,·just·statistics·and·cpu·times.\xd
100 ·················When·greater·than·1,·more·and·more·output.\xd100 ·················When·greater·than·1,·more·and·more·output.\xd
101 ·················FILE·*msgFile·:·message·file·for·output.·When·msglvl·>·0,·msgFile·must·not·be·NULL.\xd101 ·················FILE·*msgFile·:·message·file·for·output.·When·msglvl·>·0,·msgFile·must·not·be·NULL.\xd
102 ·············2.2····Prototypes·and·descriptions·of·Bridge·methods\xd102 ·············2.2····Prototypes·and·descriptions·of·Bridge·methods\xd
103 ·············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Bridge·object.\xd103 ·············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Bridge·object.\xd
104 ···············1.·int·Setup·(·void·*data,·int·*pprbtype,·int·*pneqns,·int·*pmxbsz,\xd104 ···············1.·int·Setup·(·void·*data,·int·*pprbtype,·int·*pneqns,·int·*pmxbsz,\xd
105 ····························InpMtx·*A,·InpMtx·*B,·int·*pseed,·int·*pmsglvl,·FILE·*msgFile·)·;\xd105 ····························InpMtx·*A,·InpMtx·*B,·int·*pseed,·int·*pmsglvl,·FILE·*msgFile·)·;\xd
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ·····················The·frontETree·object·is·produced·and·placed·into·the·bridge·object.\xd131 ·····················The·frontETree·object·is·produced·and·placed·into·the·bridge·object.\xd
132 ·····················Old-to-new·and·new-to-old·permutations·are·extracted·from·the·front·tree·and·loaded·into·the\xd132 ·····················Old-to-new·and·new-to-old·permutations·are·extracted·from·the·front·tree·and·loaded·into·the\xd
133 ·····················Bridge·object.\xd133 ·····················Bridge·object.\xd
134 ·····················The·vertices·in·the·front·tree·are·permuted,·as·well·as·the·entries·in·A·and·B.·Entries·in·the·lower\xd134 ·····················The·vertices·in·the·front·tree·are·permuted,·as·well·as·the·entries·in·A·and·B.·Entries·in·the·lower\xd
135 ·····················triangle·of·A·and·B·are·mapped·into·the·upper·triangle,·and·the·storage·modes·of·A·and·B·are\xd135 ·····················triangle·of·A·and·B·are·mapped·into·the·upper·triangle,·and·the·storage·modes·of·A·and·B·are\xd
136 ·····················changed·to·chevrons·and·vectors,·in·preparation·for·the·first·factorization.\xd136 ·····················changed·to·chevrons·and·vectors,·in·preparation·for·the·first·factorization.\xd
137 ·····················The·symbolic·factorization·is·then·computed·and·loaded·in·the·Bridge·object.\xd137 ·····················The·symbolic·factorization·is·then·computed·and·loaded·in·the·Bridge·object.\xd
138 ··········································SPOOLES·2.2·Wrapper·Objects·:············January·15,·2021······················6\xd138 ··········································SPOOLES·2.2·Wrapper·Objects·:············February·18,·2022·····················6\xd
139 ··························A·FrontMtx·object·is·created·to·hold·the·factorization·and·loaded·into·the·Bridge·object.\xd139 ··························A·FrontMtx·object·is·created·to·hold·the·factorization·and·loaded·into·the·Bridge·object.\xd
140 ··························A·SubMtxManager·object·is·created·to·hold·the·factor’s·submatrices·and·loaded·into·the·Bridge\xd140 ··························A·SubMtxManager·object·is·created·to·hold·the·factor’s·submatrices·and·loaded·into·the·Bridge\xd
141 ···························object.\xd141 ···························object.\xd
142 ··························Two·DenseMtx·objects·are·created·to·be·used·during·the·matrix·multiplies·and·solves.\xd142 ··························Two·DenseMtx·objects·are·created·to·be·used·during·the·matrix·multiplies·and·solves.\xd
143 ······················The·A·and·B·matrices·are·now·in·their·permuted·ordering,·i.e.,·PAPT·and·PBPT,·and·all·data·struc-\xd143 ······················The·A·and·B·matrices·are·now·in·their·permuted·ordering,·i.e.,·PAPT·and·PBPT,·and·all·data·struc-\xd
144 ······················tures·are·with·respect·to·this·ordering.·After·the·Lanczos·run·completes,·any·generated·eigenvectors\xd144 ······················tures·are·with·respect·to·this·ordering.·After·the·Lanczos·run·completes,·any·generated·eigenvectors\xd
145 ······················must·be·permuted·back·into·their·original·ordering·using·the·oldToNewIV·and·newToOldIV·objects.\xd145 ······················must·be·permuted·back·into·their·original·ordering·using·the·oldToNewIV·and·newToOldIV·objects.\xd
Offset 173, 15 lines modifiedOffset 173, 15 lines modified
173 ··························double·X[]··this·is·the·X·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd173 ··························double·X[]··this·is·the·X·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd
174 ··························double·Y[]··this·is·the·Y·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd174 ··························double·Y[]··this·is·the·Y·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd
175 ··························int·*pprbtype··*pprbtype·holds·the·problem·type.\xd175 ··························int·*pprbtype··*pprbtype·holds·the·problem·type.\xd
176 ······························1··vibration,·a·multiply·with·B·is·required.\xd176 ······························1··vibration,·a·multiply·with·B·is·required.\xd
177 ······························2··buckling,·a·multiply·with·A·is·required.\xd177 ······························2··buckling,·a·multiply·with·A·is·required.\xd
178 ······························3··simple,·no·multiply·is·required.\xd178 ······························3··simple,·no·multiply·is·required.\xd
179 ··························void·*data··a·pointer·to·the·Bridge·object.\xd179 ··························void·*data··a·pointer·to·the·Bridge·object.\xd
180 ········································SPOOLES·2.2·Wrapper·Objects·:··········January·15,·2021····················7\xd180 ········································SPOOLES·2.2·Wrapper·Objects·:··········February·18,·2022···················7\xd
181 ···················4.·void·Solve·(·int·*pnrows,·int·*pncols,·double·X[],·double·Y[],\xd181 ···················4.·void·Solve·(·int·*pnrows,·int·*pncols,·double·X[],·double·Y[],\xd
182 ····································void·*data,·int·*perror·)·;\xd182 ····································void·*data,·int·*perror·)·;\xd
183 ·····················This·method·solves·(A−σB)X·=·Y,·where·(A−σB)·has·been·factored·by·a·previous·call·to·Factor().\xd183 ·····················This·method·solves·(A−σB)X·=·Y,·where·(A−σB)·has·been·factored·by·a·previous·call·to·Factor().\xd
184 ·····················All·calling·sequence·parameters·are·pointers·to·more·easily·allow·an·interface·with·Fortran.\xd184 ·····················All·calling·sequence·parameters·are·pointers·to·more·easily·allow·an·interface·with·Fortran.\xd
185 ·························int·*pnrows··*pnrows·contains·the·number·of·rows·in·X·and·Y.\xd185 ·························int·*pnrows··*pnrows·contains·the·number·of·rows·in·X·and·Y.\xd
186 ·························int·*pncols··*pncols·contains·the·number·of·columns·in·X·and·Y.\xd186 ·························int·*pncols··*pncols·contains·the·number·of·columns·in·X·and·Y.\xd
187 ·························double·X[]··this·is·the·X·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd187 ·························double·X[]··this·is·the·X·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd
Offset 207, 15 lines modifiedOffset 207, 15 lines modified
207 ····················inFileB·is·the·Harwell-Boeing·file·for·the·matrix·B.\xd207 ····················inFileB·is·the·Harwell-Boeing·file·for·the·matrix·B.\xd
208 ················This·program·is·executed·for·some·sample·matrices·by·the·do·ST·*·shell·scripts·in·the·drivers·directory.\xd208 ················This·program·is·executed·for·some·sample·matrices·by·the·do·ST·*·shell·scripts·in·the·drivers·directory.\xd
209 ···················Here·is·a·short·description·of·the·steps·in·the·driver·program.·See·Chapter·A·for·the·listing.\xd209 ···················Here·is·a·short·description·of·the·steps·in·the·driver·program.·See·Chapter·A·for·the·listing.\xd
210 ···················1.·The·command·line·inputs·are·decoded.\xd210 ···················1.·The·command·line·inputs·are·decoded.\xd
211 ···················2.·The·header·of·the·Harwell-Boeing·file·for·A·is·read.·This·yields·the·number·of·equations.\xd211 ···················2.·The·header·of·the·Harwell-Boeing·file·for·A·is·read.·This·yields·the·number·of·equations.\xd
212 ···················3.·The·parameters·that·define·the·eigensystem·to·be·solved·are·read·in·from·the·parmFile·file.\xd212 ···················3.·The·parameters·that·define·the·eigensystem·to·be·solved·are·read·in·from·the·parmFile·file.\xd
213 ···················4.·The·Lanczos·eigensolver·workspace·is·initialized.\xd213 ···················4.·The·Lanczos·eigensolver·workspace·is·initialized.\xd
214 ·································SPOOLES·2.2·Wrapper·Objects·:···January·15,·2021·············8\xd214 ·································SPOOLES·2.2·Wrapper·Objects·:··February·18,·2022·············8\xd
215 ···············5.·The·Lanczos·communication·structure·is·filled·with·some·parameters.\xd215 ···············5.·The·Lanczos·communication·structure·is·filled·with·some·parameters.\xd
216 ···············6.·The·A·and·possibly·B·matrices·are·read·in·from·the·Harwell-Boeing·files·and·converted·into·InpMtx\xd216 ···············6.·The·A·and·possibly·B·matrices·are·read·in·from·the·Harwell-Boeing·files·and·converted·into·InpMtx\xd
217 ·················objects·from·the·SPOOLES·library.\xd217 ·················objects·from·the·SPOOLES·library.\xd
218 ···············7.·The·linear·solver·environment·is·then·initialized·via·a·call·to·Setup().\xd218 ···············7.·The·linear·solver·environment·is·then·initialized·via·a·call·to·Setup().\xd
219 ···············8.·The·eigensolver·is·invoked·via·a·call·to·lanczos·run().·The·FactorMT(),·SolveMT()·and·MatMulMT()\xd219 ···············8.·The·eigensolver·is·invoked·via·a·call·to·lanczos·run().·The·FactorMT(),·SolveMT()·and·MatMulMT()\xd
220 ·················methods·are·passed·to·this·routine.\xd220 ·················methods·are·passed·to·this·routine.\xd
221 ···············9.·The·eigenvalues·are·extracted·and·printed·via·a·call·to·lanczos·eigenvalues().\xd221 ···············9.·The·eigenvalues·are·extracted·and·printed·via·a·call·to·lanczos·eigenvalues().\xd
Offset 243, 53 lines modifiedOffset 243, 53 lines modified
243 ···············where·it·is·contained.\xd243 ···············where·it·is·contained.\xd
244 ··············IVL·*symbfacIVL·:·object·that·contains·the·symbolic·factorization·of·the·matrix.\xd244 ··············IVL·*symbfacIVL·:·object·that·contains·the·symbolic·factorization·of·the·matrix.\xd
245 ··············SubMtxManager·*mtxmanager·:·object·that·manages·the·SubMtx·objects·that·store·the·factor·entries\xd245 ··············SubMtxManager·*mtxmanager·:·object·that·manages·the·SubMtx·objects·that·store·the·factor·entries\xd
246 ···············and·are·used·in·the·solves.\xd246 ···············and·are·used·in·the·solves.\xd
247 ··············FrontMtx·*frontmtx·:·object·that·stores·the·L,·D·and·U·factor·matrices.\xd247 ··············FrontMtx·*frontmtx·:·object·that·stores·the·L,·D·and·U·factor·matrices.\xd
248 ··············IV·*oldToNewIV·:·object·that·stores·old-to-new·permutation·vector.\xd248 ··············IV·*oldToNewIV·:·object·that·stores·old-to-new·permutation·vector.\xd
249 ·············································9\xd249 ·············································9\xd
250 ·································SPOOLES·2.2·Wrapper·Objects·:··January·15,·2021·············10\xd250 ·······························SPOOLES2.2·Wrapper·Objects·:··February·18,·2022············10\xd
251 ·················IV·*newToOldIV·:·object·that·stores·new-to-old·permutation·vector.\xd251 ················IV·*newToOldIV·:·object·that·stores·new-to-old·permutation·vector.\xd
252 ·················DenseMtx·*X·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd252 ················DenseMtx·*X·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd
253 ·················DenseMtx·*Y·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd253 ················DenseMtx·*Y·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd
254 ·················IV·*ownersIV·:·object·that·maps·fronts·to·owning·threads·for·the·factorization·and·matrix-multiplies.\xd254 ················IV·*ownersIV·:·object·that·maps·fronts·to·owning·threads·for·the·factorization·and·matrix-multiplies.\xd
255 ·················SolveMap·*solvemap·:·object·that·maps·factor·submatrices·to·owning·threads·for·the·solve.\xd255 ················SolveMap·*solvemap·:·object·that·maps·factor·submatrices·to·owning·threads·for·the·solve.\xd
256 ·················int·msglvl·:·message·level·for·output.·When·0,·no·output,·When·1,·just·statistics·and·cpu·times.\xd256 ················int·msglvl·:·message·level·for·output.·When·0,·no·output,·When·1,·just·statistics·and·cpu·times.\xd
257 ·················When·greater·than·1,·more·and·more·output.\xd257 ·················When·greater·than·1,·more·and·more·output.\xd
258 ·················FILE·*msgFile·:·message·file·for·output.·When·msglvl·>·0,·msgFile·must·not·be·NULL.\xd258 ················FILE·*msgFile·:·message·file·for·output.·When·msglvl·>·0,·msgFile·must·not·be·NULL.\xd
259 ·············3.2····Prototypes·and·descriptions·of·BridgeMT·methods\xd259 ·············3.2···Prototypes·and·descriptions·of·BridgeMT·methods\xd
260 ·············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·BridgeMT\xd260 ·············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·BridgeMT\xd
261 ·············object.\xd261 ·············object.\xd
262 ···············1.·int·SetupMT·(·void·*data,·int·*pprbtype,·int·*pneqns,\xd262 ···············1.·int·SetupMT·(·void·*data,·int·*pprbtype,·int·*pneqns,\xd
263 ······························int·*pmxbsz,·InpMtx·*A,·InpMtx·*B,·int·*pseed,\xd263 ·····························int·*pmxbsz,·InpMtx·*A,·InpMtx·*B,·int·*pseed,\xd
264 ······························int·*pnthread,·int·*pmsglvl,·FILE·*msgFile·)·;\xd264 ·····························int·*pnthread,·int·*pmsglvl,·FILE·*msgFile·)·;\xd
265 ·················All·calling·sequence·parameters·are·pointers·to·more·easily·allow·an·interface·with·Fortran.\xd265 ·················All·calling·sequence·parameters·are·pointers·to·more·easily·allow·an·interface·with·Fortran.\xd
266 ·····················void·*data··a·pointer·to·the·BridgeMT·object.\xd266 ····················void·*data··a·pointer·to·the·BridgeMT·object.\xd
267 ·····················int·*pprbtype··*pprbtype·holds·the·problem·type.\xd267 ····················int·*pprbtype··*pprbtype·holds·the·problem·type.\xd
268 ························1··vibration,·a·multiply·with·B·is·required.\xd268 ·······················1··vibration,·a·multiply·with·B·is·required.\xd
269 ························2··buckling,·a·multiply·with·A·is·required.\xd269 ·······················2··buckling,·a·multiply·with·A·is·required.\xd
270 ························3··simple,·no·multiply·is·required.\xd270 ·······················3··simple,·no·multiply·is·required.\xd
271 ·····················int·*pneqns··*pneqns·is·the·number·of·equations.\xd271 ····················int·*pneqns··*pneqns·is·the·number·of·equations.\xd
272 ·····················int·*pmxbsz··*pmxbsz·is·an·upper·bound·on·the·block·size.\xd272 ····················int·*pmxbsz··*pmxbsz·is·an·upper·bound·on·the·block·size.\xd
273 ·····················InpMtx·*A··A·is·a·SPOOLES·object·that·holds·the·matrix·A.\xd273 ····················InpMtx·*A··A·is·a·SPOOLES·object·that·holds·the·matrix·A.\xd
274 ·····················InpMtx·*B··B·is·a·SPOOLES·object·that·holds·the·matrix·B.·For·an·ordinary·eigenproblem,\xd274 ····················InpMtx·*B··B·is·a·SPOOLES·object·that·holds·the·matrix·B.·For·an·ordinary·eigenproblem,\xd
275 ·····················B·is·the·identity·and·B·is·NULL.\xd275 ····················B·is·the·identity·and·B·is·NULL.\xd
276 ·····················int·*pseed··*pseed·is·a·random·number·seed.\xd276 ····················int·*pseed··*pseed·is·a·random·number·seed.\xd
Max diff block lines reached; 92524/107396 bytes (86.15%) of diff not shown.
94.3 KB
./usr/share/doc/spooles-doc/FrontMtx.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3824381 gzip·compressed·data,·max·compression,·from·Unix,·original·size·382668
94.1 KB
FrontMtx.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMMI8·CMSY10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMMI8·CMSY10·CMTI10
9 %%+·CMSL10·CMBX10·CMMI129 %%+·CMSL10·CMBX10·CMMI12
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·FrontMtx.ps13 %DVIPSCommandLine:·dvips·main·-o·FrontMtx.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1349, 19 lines modifiedOffset 1349, 20 lines modified
1349 end·readonly·def1349 end·readonly·def
1350 /Encoding·256·array1350 /Encoding·256·array
1351 0·1·255·{1·index·exch·/.notdef·put}·for1351 0·1·255·{1·index·exch·/.notdef·put}·for
1352 dup·44·/comma·put1352 dup·44·/comma·put
1353 dup·48·/zero·put1353 dup·48·/zero·put
1354 dup·49·/one·put1354 dup·49·/one·put
1355 dup·50·/two·put1355 dup·50·/two·put
1356 dup·53·/five·put1356 dup·56·/eight·put
1357 dup·58·/colon·put1357 dup·58·/colon·put
1358 dup·74·/J·put1358 dup·70·/F·put
1359 dup·97·/a·put1359 dup·97·/a·put
 1360 dup·98·/b·put
1360 dup·110·/n·put1361 dup·101·/e·put
1361 dup·114·/r·put1362 dup·114·/r·put
1362 dup·117·/u·put1363 dup·117·/u·put
1363 dup·121·/y·put1364 dup·121·/y·put
1364 readonly·def1365 readonly·def
1365 currentdict·end1366 currentdict·end
1366 currentfile·eexec1367 currentfile·eexec
1367 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71368 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1545, 84 lines modifiedOffset 1546, 86 lines modified
1545 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1546 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1546 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821547 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1547 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1548 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1548 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51549 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1549 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051550 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1550 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051551 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1551 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671552 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1552 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041553 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1553 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1554 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1555 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1556 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1557 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1558 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1559 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1560 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1561 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1562 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1563 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1564 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1565 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1566 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1567 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1568 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1569 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1570 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1571 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1572 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1573 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1574 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1575 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1576 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1577 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1578 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1579 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1580 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1581 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1582 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1583 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1584 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1585 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1586 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1587 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1588 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1589 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1590 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1591 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1592 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1593 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1594 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1595 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1596 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1597 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1598 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1599 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1600 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1601 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1602 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1603 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1604 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1605 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1606 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1607 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1608 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1609 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1610 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1611 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1612 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1613 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1614 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1615 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1616 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1617 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1618 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1619 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1620 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1621 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51554 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1555 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1556 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1557 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1558 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1559 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1560 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1561 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1562 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1563 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1564 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1565 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1566 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1567 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 53884/65040 bytes (82.85%) of diff not shown.
30.5 KB
ps2ascii {}
    
Offset 23, 15 lines modifiedOffset 23, 15 lines modified
23 ··········are·disjoint.·P·is·a·permutation·matrix.·If·pivoting·is·not·used,·P·is·the·identity.\xd23 ··········are·disjoint.·P·is·a·permutation·matrix.·If·pivoting·is·not·used,·P·is·the·identity.\xd
24 ········2.·(A·+·σB)·=·P(L·+·I)D(I·+·U)QT·for·a·square·nonsymmetric·matrix·A·with·symmetric\xd24 ········2.·(A·+·σB)·=·P(L·+·I)D(I·+·U)QT·for·a·square·nonsymmetric·matrix·A·with·symmetric\xd
25 ··········structure.·D·is·a·diagonal·matrix.·U·is·strictly·upper·triangular.·L·is·strictly·lower·triangular.\xd25 ··········structure.·D·is·a·diagonal·matrix.·U·is·strictly·upper·triangular.·L·is·strictly·lower·triangular.\xd
26 ··········P·and·Q·are·permutation·matrices.·If·pivoting·is·not·used,·P·and·Q·are·the·identity.\xd26 ··········P·and·Q·are·permutation·matrices.·If·pivoting·is·not·used,·P·and·Q·are·the·identity.\xd
27 ········3.·A·=·QR·for·square·or·rectangular·A.·Q·is·an·orthogonal·matrix·that·is·not·explicitly\xd27 ········3.·A·=·QR·for·square·or·rectangular·A.·Q·is·an·orthogonal·matrix·that·is·not·explicitly\xd
28 ··········computed·or·stored.·R·is·upper·triangular.\xd28 ··········computed·or·stored.·R·is·upper·triangular.\xd
29 ·····························1\xd29 ·····························1\xd
30 ············2·························FrontMtx·:·DRAFT·January·15,·2021\xd30 ············2························FrontMtx·:·DRAFT·February·18,·2022\xd
31 ···············The·factorization·is·performed·using·a·one·dimensional·decomposition·of·the·global·sparse\xd31 ···············The·factorization·is·performed·using·a·one·dimensional·decomposition·of·the·global·sparse\xd
32 ············matrix.·A·typical·front·of·the·matrix·is·found·the·shaded·portion·of·the·figure·below.\xd32 ············matrix.·A·typical·front·of·the·matrix·is·found·the·shaded·portion·of·the·figure·below.\xd
33 ············Afront·is·indivisible,·it·is·found·on·one·processor,·and·one·processor·or·one·thread·is·responsible\xd33 ············Afront·is·indivisible,·it·is·found·on·one·processor,·and·one·processor·or·one·thread·is·responsible\xd
34 ············for·its·internal·computations.·This·is·extremely·important·if·we·want·to·support·pivoting·for\xd34 ············for·its·internal·computations.·This·is·extremely·important·if·we·want·to·support·pivoting·for\xd
35 ············stability,·for·deciding·how·to·choose·the·pivot·elements·in·the·front·requires·continuous·up-to-\xd35 ············stability,·for·deciding·how·to·choose·the·pivot·elements·in·the·front·requires·continuous·up-to-\xd
36 ············date·information·about·all·the·entries·in·the·front.·If·a·front·were·partitioned·among·threads·or\xd36 ············date·information·about·all·the·entries·in·the·front.·If·a·front·were·partitioned·among·threads·or\xd
37 ············processors,·the·cost·of·the·communication·to·select·pivot·elements·would·be·intolerable.\xd37 ············processors,·the·cost·of·the·communication·to·select·pivot·elements·would·be·intolerable.\xd
Offset 56, 15 lines modifiedOffset 56, 15 lines modified
56 ················The·linear·combination·A+σB·is·found·in·a·Pencil·object.\xd56 ················The·linear·combination·A+σB·is·found·in·a·Pencil·object.\xd
57 ················The·ETree·object·contains·the·front·tree·that·governs·the·factorization·and·solve.·Inside\xd57 ················The·ETree·object·contains·the·front·tree·that·governs·the·factorization·and·solve.·Inside\xd
58 ·················this·object·are·the·dimensions·of·each·front·(the·number·of·internal·and·external·rows·and\xd58 ·················this·object·are·the·dimensions·of·each·front·(the·number·of·internal·and·external·rows·and\xd
59 ·················columns),·the·tree·connectivity·of·the·fronts,·and·a·map·from·each·vertex·to·the·front·that\xd59 ·················columns),·the·tree·connectivity·of·the·fronts,·and·a·map·from·each·vertex·to·the·front·that\xd
60 ·················contains·it·as·an·internal·row·and·column.·The·FrontMtx·object·contains·a·pointer·to·an\xd60 ·················contains·it·as·an·internal·row·and·column.·The·FrontMtx·object·contains·a·pointer·to·an\xd
61 ·················ETree·object,·but·it·does·not·modify·the·object,·nor·does·it·own·the·storage·for·the·ETree\xd61 ·················ETree·object,·but·it·does·not·modify·the·object,·nor·does·it·own·the·storage·for·the·ETree\xd
62 ·················object.·Thus·multiple·front·matrices·can·all·point·to·the·same·ETree·object·simultaneously.\xd62 ·················object.·Thus·multiple·front·matrices·can·all·point·to·the·same·ETree·object·simultaneously.\xd
63 ·····································FrontMtx·:·DRAFT··January·15,·2021···················3\xd63 ····································FrontMtx·:·DRAFT···February·18,·2022··················3\xd
64 ················An·IVL·object·(Integer·Vector·List),·contains·the·symbolic·factorization.·For·each·front,·it\xd64 ················An·IVL·object·(Integer·Vector·List),·contains·the·symbolic·factorization.·For·each·front,·it\xd
65 ·················gives·the·list·of·internal·and·external·rows·and·columns,·used·to·initialize·a·front·prior·to·its\xd65 ·················gives·the·list·of·internal·and·external·rows·and·columns,·used·to·initialize·a·front·prior·to·its\xd
66 ·················factorization.·For·a·factorization·without·pivoting,·this·object·stores·the·index·information\xd66 ·················factorization.·For·a·factorization·without·pivoting,·this·object·stores·the·index·information\xd
67 ·················for·the·factors,·and·so·is·used·during·the·forward·and·backsolves.·For·a·factorization·with\xd67 ·················for·the·factors,·and·so·is·used·during·the·forward·and·backsolves.·For·a·factorization·with\xd
68 ·················pivoting,·the·index·information·for·a·front·may·change,·so·this·object·is·not·used·during·the\xd68 ·················pivoting,·the·index·information·for·a·front·may·change,·so·this·object·is·not·used·during·the\xd
69 ·················solves.·As·for·the·ETree·object,·the·symbolic·factorization·is·neither·modified·or·owned·by\xd69 ·················solves.·As·for·the·ETree·object,·the·symbolic·factorization·is·neither·modified·or·owned·by\xd
70 ·················the·front·matrix·object.\xd70 ·················the·front·matrix·object.\xd
Offset 96, 15 lines modifiedOffset 96, 15 lines modified
96 ·················postponed·data·(when·pivoting·is·enabled)·or·aggregate·data·(in·a·parallel·factorization),·and\xd96 ·················postponed·data·(when·pivoting·is·enabled)·or·aggregate·data·(in·a·parallel·factorization),·and\xd
97 ·················the·factorization·of·the·fully·assembled·front,·take·place·within·the·context·of·this·object.\xd97 ·················the·factorization·of·the·fully·assembled·front,·take·place·within·the·context·of·this·object.\xd
98 ················The·SubMtx·object·is·used·to·store·a·submatrix·of·the·factor·matrices·D,·L·and·U.·Once·a\xd98 ················The·SubMtx·object·is·used·to·store·a·submatrix·of·the·factor·matrices·D,·L·and·U.·Once·a\xd
99 ·················front·is·factored·it·is·split·into·one·or·more·of·these·submatrix·objects.·After·the·factorization\xd99 ·················front·is·factored·it·is·split·into·one·or·more·of·these·submatrix·objects.·After·the·factorization\xd
100 ·················is·complete,·the·data·structures·are·postprocessed·to·yield·submatrices·that·contain·the\xd100 ·················is·complete,·the·data·structures·are·postprocessed·to·yield·submatrices·that·contain·the\xd
101 ·················coupling·between·fronts.·The·working·storage·during·the·solves·is·also·managed·by·SubMtx\xd101 ·················coupling·between·fronts.·The·working·storage·during·the·solves·is·also·managed·by·SubMtx\xd
102 ·················objects.\xd102 ·················objects.\xd
103 ···········4·····················FrontMtx·:·DRAFT·January·15,·2021\xd103 ···········4·····················FrontMtx·:·DRAFT·February·18,·2022\xd
104 ··············Each·submatrix·represents·the·coupling·between·two·fronts,·I·and·J.·To·enable·rapid·random\xd104 ··············Each·submatrix·represents·the·coupling·between·two·fronts,·I·and·J.·To·enable·rapid·random\xd
105 ···············access·to·these·submatrices,·we·use·a·I2Ohash·object·that·is·a·hash·table·whose·keys·are·two\xd105 ···············access·to·these·submatrices,·we·use·a·I2Ohash·object·that·is·a·hash·table·whose·keys·are·two\xd
106 ···············integers·and·whose·data·is·a·void·*·pointer.\xd106 ···············integers·and·whose·data·is·a·void·*·pointer.\xd
107 ··············The·set·of·nonzero·submatrices,·i.e.,·the·nonzero·couplings·between·two·fronts,·is·kept·in\xd107 ··············The·set·of·nonzero·submatrices,·i.e.,·the·nonzero·couplings·between·two·fronts,·is·kept·in\xd
108 ···············one·or·two·IVL·objects.·This·information·is·necessary·for·the·factorization·and·forward·and\xd108 ···············one·or·two·IVL·objects.·This·information·is·necessary·for·the·factorization·and·forward·and\xd
109 ···············backsolves.\xd109 ···············backsolves.\xd
110 ··············The·factorization·and·solves·require·lists·of·fronts·and·submatrices·to·manage·assembly·of\xd110 ··············The·factorization·and·solves·require·lists·of·fronts·and·submatrices·to·manage·assembly·of\xd
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ··············int·pivotingflag·:·flag·to·specify·pivoting·for·stability,\xd131 ··············int·pivotingflag·:·flag·to·specify·pivoting·for·stability,\xd
132 ··················SPOOLES·NO·PIVOTING··pivoting·not·used\xd132 ··················SPOOLES·NO·PIVOTING··pivoting·not·used\xd
133 ··················SPOOLES·PIVOTING··pivoting·used\xd133 ··················SPOOLES·PIVOTING··pivoting·used\xd
134 ··············int·sparsityflag·:·flag·to·specify·storage·of·factors.\xd134 ··············int·sparsityflag·:·flag·to·specify·storage·of·factors.\xd
135 ··················0··each·front·is·dense\xd135 ··················0··each·front·is·dense\xd
136 ··················1··a·front·may·be·sparse·due·to·entries·dropped·because·they·are·below·a·drop\xd136 ··················1··a·front·may·be·sparse·due·to·entries·dropped·because·they·are·below·a·drop\xd
137 ···················tolerance.\xd137 ···················tolerance.\xd
138 ·····································FrontMtx·:·DRAFT··January·15,·2021···················5\xd138 ····································FrontMtx·:·DRAFT···February·18,·2022··················5\xd
139 ················int·dataMode·:·flag·to·specify·data·storage.\xd139 ················int·dataMode·:·flag·to·specify·data·storage.\xd
140 ····················1··one-dimensional,·used·during·the·factorization.\xd140 ····················1··one-dimensional,·used·during·the·factorization.\xd
141 ····················2··two-dimensional,·used·during·the·solves.\xd141 ····················2··two-dimensional,·used·during·the·solves.\xd
142 ················int·nentD·:·number·of·entries·in·D\xd142 ················int·nentD·:·number·of·entries·in·D\xd
143 ················int·nentL·:·number·of·entries·in·L\xd143 ················int·nentL·:·number·of·entries·in·L\xd
144 ················int·nentU·:·number·of·entries·in·U\xd144 ················int·nentU·:·number·of·entries·in·U\xd
145 ················Tree·*tree:·Treeobjectthatholdsthetreeoffronts.·Note,·normallythisisfrontETree->tree,\xd145 ················Tree·*tree:·Treeobjectthatholdsthetreeoffronts.·Note,·normallythisisfrontETree->tree,\xd
Offset 165, 15 lines modifiedOffset 165, 15 lines modified
165 ·················used·only·during·a·nonsymmetric·factorization.\xd165 ·················used·only·during·a·nonsymmetric·factorization.\xd
166 ················SubMtx·**p·mtxLNJ·:·a·vector·of·pointers·to·submatrices·in·L·that·are·off·the·block·diagonal,\xd166 ················SubMtx·**p·mtxLNJ·:·a·vector·of·pointers·to·submatrices·in·L·that·are·off·the·block·diagonal,\xd
167 ·················used·only·during·a·nonsymmetric·factorization.\xd167 ·················used·only·during·a·nonsymmetric·factorization.\xd
168 ················I2Ohash·*lowerhash·:·pointer·to·a·I2Ohash·hash·table·for·submatrices·in·L,·used·during\xd168 ················I2Ohash·*lowerhash·:·pointer·to·a·I2Ohash·hash·table·for·submatrices·in·L,·used·during\xd
169 ·················the·solves.\xd169 ·················the·solves.\xd
170 ················I2Ohash·*upperhash·:·pointer·to·a·I2Ohash·hash·table·for·submatrices·in·U,·used·during\xd170 ················I2Ohash·*upperhash·:·pointer·to·a·I2Ohash·hash·table·for·submatrices·in·U,·used·during\xd
171 ·················the·solves.\xd171 ·················the·solves.\xd
172 ···········6·····················FrontMtx·:·DRAFT·January·15,·2021\xd172 ···········6·····················FrontMtx·:·DRAFT·February·18,·2022\xd
173 ··············SubMtxManager·*manager·:·pointer·to·an·object·that·manages·the·instances·of·submatrices\xd173 ··············SubMtxManager·*manager·:·pointer·to·an·object·that·manages·the·instances·of·submatrices\xd
174 ···············during·the·factors·and·solves.\xd174 ···············during·the·factors·and·solves.\xd
175 ··············Lock·*lock·:·pointer·to·a·Lock·lock·used·in·a·multithreaded·environment·to·ensure·exlusive\xd175 ··············Lock·*lock·:·pointer·to·a·Lock·lock·used·in·a·multithreaded·environment·to·ensure·exlusive\xd
176 ···············access·while·allocating·storage·in·the·IV·and·IVL·objects.·This·is·not·used·in·a·serial·or·MPI\xd176 ···············access·while·allocating·storage·in·the·IV·and·IVL·objects.·This·is·not·used·in·a·serial·or·MPI\xd
177 ···············environment.\xd177 ···············environment.\xd
178 ··············int·nlocks·:·number·of·times·the·lock·has·been·locked.\xd178 ··············int·nlocks·:·number·of·times·the·lock·has·been·locked.\xd
179 ··············PatchAndGo·*info·:·this·is·a·pointer·to·an·object·that·is·used·by·the·Chv·object·during·the\xd179 ··············PatchAndGo·*info·:·this·is·a·pointer·to·an·object·that·is·used·by·the·Chv·object·during·the\xd
Offset 196, 15 lines modifiedOffset 196, 15 lines modified
196 ··············FRONTMTX·IS·1D·MODE(frontmtx)·is·1·if·the·factor·are·still·stored·as·a·one-dimensional·data\xd196 ··············FRONTMTX·IS·1D·MODE(frontmtx)·is·1·if·the·factor·are·still·stored·as·a·one-dimensional·data\xd
197 ···············decomposition·(i.e.,·the·matrix·has·not·yet·been·post-processed),·and·0·otherwise.\xd197 ···············decomposition·(i.e.,·the·matrix·has·not·yet·been·post-processed),·and·0·otherwise.\xd
198 ··············FRONTMTX·IS·2D·MODE(frontmtx)·is·1·if·the·factor·are·stored·as·a·two-dimensional·data\xd198 ··············FRONTMTX·IS·2D·MODE(frontmtx)·is·1·if·the·factor·are·stored·as·a·two-dimensional·data\xd
199 ···············decomposition·(i.e.,·the·matrix·has·been·post-processed),·and·0·otherwise.\xd199 ···············decomposition·(i.e.,·the·matrix·has·been·post-processed),·and·0·otherwise.\xd
200 ···········1.2··Prototypes·and·descriptions·of·FrontMtx·methods\xd200 ···········1.2··Prototypes·and·descriptions·of·FrontMtx·methods\xd
201 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd201 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
202 ···········FrontMtx·object.\xd202 ···········FrontMtx·object.\xd
203 ·····································FrontMtx·:·DRAFT··January·15,·2021···················7\xd203 ····································FrontMtx·:·DRAFT···February·18,·2022··················7\xd
204 ············1.2.1··Basic·methods\xd204 ············1.2.1··Basic·methods\xd
205 ············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd205 ············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
206 ············any·allocated·data,·and·free’ing·the·object.\xd206 ············any·allocated·data,·and·free’ing·the·object.\xd
207 ···············1.·FrontMtx·*·FrontMtx_new·(·void·)·;\xd207 ···············1.·FrontMtx·*·FrontMtx_new·(·void·)·;\xd
208 ·················This·method·simply·allocates·storage·for·the·FrontMtx·structure·and·then·sets·the·default\xd208 ·················This·method·simply·allocates·storage·for·the·FrontMtx·structure·and·then·sets·the·default\xd
209 ·················fields·by·a·call·to·FrontMtx·setDefaultFields().\xd209 ·················fields·by·a·call·to·FrontMtx·setDefaultFields().\xd
210 ···············2.·void·FrontMtx_setDefaultFields·(·FrontMtx·*frontmtx·)·;\xd210 ···············2.·void·FrontMtx_setDefaultFields·(·FrontMtx·*frontmtx·)·;\xd
Offset 231, 15 lines modifiedOffset 231, 15 lines modified
231 ············1.2.2··Instance·methods\xd231 ············1.2.2··Instance·methods\xd
232 ···············1.·int·FrontMtx_nfront·(·FrontMtx·*frontmtx·)·;\xd232 ···············1.·int·FrontMtx_nfront·(·FrontMtx·*frontmtx·)·;\xd
233 ·················This·method·returns·the·number·of·fronts·in·the·matrix.\xd233 ·················This·method·returns·the·number·of·fronts·in·the·matrix.\xd
234 ·················Error·checking:·If·frontmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd234 ·················Error·checking:·If·frontmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
235 ···············2.·int·FrontMtx_neqns·(·FrontMtx·*frontmtx·)·;\xd235 ···············2.·int·FrontMtx_neqns·(·FrontMtx·*frontmtx·)·;\xd
236 ·················This·method·returns·the·number·of·equations·in·the·matrix.\xd236 ·················This·method·returns·the·number·of·equations·in·the·matrix.\xd
237 ·················Error·checking:·If·frontmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd237 ·················Error·checking:·If·frontmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
238 ···············8······························FrontMtx·:·DRAFT·January·15,·2021\xd238 ···············8·····························FrontMtx·:·DRAFT·February·18,·2022\xd
239 ··················3.·Tree·*·FrontMtx_frontTree·(·FrontMtx·*frontmtx·)·;\xd239 ··················3.·Tree·*·FrontMtx_frontTree·(·FrontMtx·*frontmtx·)·;\xd
240 ·····················This·method·returns·the·Tree·object·for·the·fronts.\xd240 ·····················This·method·returns·the·Tree·object·for·the·fronts.\xd
241 ·····················Error·checking:·If·frontmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd241 ·····················Error·checking:·If·frontmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
242 ··················4.·void·FrontMtx_initialFrontDimensions·(·FrontMtx·*frontmtx,·int·J,\xd242 ··················4.·void·FrontMtx_initialFrontDimensions·(·FrontMtx·*frontmtx,·int·J,\xd
243 ···················································int·*pnD,·int·*pnL,·int·*pnU,·int·*pnbytes·)·;\xd243 ···················································int·*pnD,·int·*pnL,·int·*pnU,·int·*pnbytes·)·;\xd
244 ·····················This·method·fills·the·four·pointer·arguments·with·the·number·of·internal·rows·and·columns,\xd244 ·····················This·method·fills·the·four·pointer·arguments·with·the·number·of·internal·rows·and·columns,\xd
245 ·····················number·of·rows·in·the·lower·block,·number·of·columns·in·the·upper·block,·and·number·of\xd245 ·····················number·of·rows·in·the·lower·block,·number·of·columns·in·the·upper·block,·and·number·of\xd
Offset 269, 15 lines modifiedOffset 269, 15 lines modified
269 ·····················Error·checking:·If·frontmtx,·pnrow·or·pindices·is·NULL,·or·if·J·is·not·in·[0,nfront),·an\xd269 ·····················Error·checking:·If·frontmtx,·pnrow·or·pindices·is·NULL,·or·if·J·is·not·in·[0,nfront),·an\xd
270 ·····················error·message·is·printed·and·the·program·exits.\xd270 ·····················error·message·is·printed·and·the·program·exits.\xd
271 ··················9.·SubMtx·*·FrontMtx_diagMtx·(·FrontMtx·*frontmtx,·int·J·)·;\xd271 ··················9.·SubMtx·*·FrontMtx_diagMtx·(·FrontMtx·*frontmtx,·int·J·)·;\xd
272 ·····················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·D··.\xd272 ·····················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·D··.\xd
273 ··························································································J,J\xd273 ··························································································J,J\xd
274 ·····················Error·checking:·If·frontmtx·is·NULL,·or·if·J·is·not·in·[0,nfront),·an·error·message·is·printed\xd274 ·····················Error·checking:·If·frontmtx·is·NULL,·or·if·J·is·not·in·[0,nfront),·an·error·message·is·printed\xd
275 ·····················and·the·program·exits.\xd275 ·····················and·the·program·exits.\xd
276 ·····································FrontMtx·:·DRAFT··January·15,·2021···················9\xd276 ····································FrontMtx·:·DRAFT···February·18,·2022··················9\xd
277 ··············10.·SubMtx·*·FrontMtx_upperMtx·(·FrontMtx·*frontmtx,·int·J,·int·K·)·;\xd277 ··············10.·SubMtx·*·FrontMtx_upperMtx·(·FrontMtx·*frontmtx,·int·J,·int·K·)·;\xd
278 ·················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·UJ,K.·If·K·=·nfront,\xd278 ·················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·UJ,K.·If·K·=·nfront,\xd
279 ·················then·the·object·containing·UJ,∂J·is·returned.\xd279 ·················then·the·object·containing·UJ,∂J·is·returned.\xd
280 ·················Error·checking:·If·frontmtx·is·NULL,·or·if·J·is·not·in·[0,nfront),·or·if·K·is·not·in·[0,nfront],\xd280 ·················Error·checking:·If·frontmtx·is·NULL,·or·if·J·is·not·in·[0,nfront),·or·if·K·is·not·in·[0,nfront],\xd
281 ·················an·error·message·is·printed·and·the·program·exits.\xd281 ·················an·error·message·is·printed·and·the·program·exits.\xd
282 ··············11.·SubMtx·*·FrontMtx_lowerMtx·(·FrontMtx·*frontmtx,·int·K,·int·J·)·;\xd282 ··············11.·SubMtx·*·FrontMtx_lowerMtx·(·FrontMtx·*frontmtx,·int·K,·int·J·)·;\xd
283 ·················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·LK,J.·If·K·=·nfront,\xd283 ·················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·LK,J.·If·K·=·nfront,\xd
Max diff block lines reached; 19967/31226 bytes (63.94%) of diff not shown.
98.2 KB
./usr/share/doc/spooles-doc/FrontTrees.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·6315991 gzip·compressed·data,·max·compression,·from·Unix,·original·size·631869
98.0 KB
FrontTrees.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMR17·CMR12·CMSY8·CMBX12·CMR10·CMMI10·CMMI7·CMSY10·CMR78 %%DocumentFonts:·CMR17·CMR12·CMSY8·CMBX12·CMR10·CMMI10·CMMI7·CMSY10·CMR7
9 %%+·CMBX10·CMSY6·CMR8·CMSL10·CMTT12·CMTT10·CMTI10·CMR6·CMMI8·CMMI69 %%+·CMBX10·CMSY6·CMR8·CMSL10·CMTT12·CMTT10·CMTI10·CMR6·CMMI8·CMMI6
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·FrontTrees.ps13 %DVIPSCommandLine:·dvips·main·-o·FrontTrees.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 2699, 20 lines modifiedOffset 2699, 20 lines modified
2699 end·readonly·def2699 end·readonly·def
2700 /Encoding·256·array2700 /Encoding·256·array
2701 0·1·255·{1·index·exch·/.notdef·put}·for2701 0·1·255·{1·index·exch·/.notdef·put}·for
2702 dup·44·/comma·put2702 dup·44·/comma·put
2703 dup·48·/zero·put2703 dup·48·/zero·put
2704 dup·49·/one·put2704 dup·49·/one·put
2705 dup·50·/two·put2705 dup·50·/two·put
2706 dup·53·/five·put2706 dup·56·/eight·put
2707 dup·70·/F·put2707 dup·70·/F·put
2708 dup·74·/J·put 
2709 dup·79·/O·put2708 dup·79·/O·put
2710 dup·84·/T·put2709 dup·84·/T·put
2711 dup·97·/a·put2710 dup·97·/a·put
 2711 dup·98·/b·put
2712 dup·100·/d·put2712 dup·100·/d·put
2713 dup·101·/e·put2713 dup·101·/e·put
2714 dup·103·/g·put2714 dup·103·/g·put
2715 dup·105·/i·put2715 dup·105·/i·put
2716 dup·110·/n·put2716 dup·110·/n·put
2717 dup·111·/o·put2717 dup·111·/o·put
2718 dup·114·/r·put2718 dup·114·/r·put
Offset 2918, 118 lines modifiedOffset 2918, 117 lines modified
2918 5A622A384230B4229D6DE94BA7D1CFAAB8227EB9931552D0098567342D498AEA2918 5A622A384230B4229D6DE94BA7D1CFAAB8227EB9931552D0098567342D498AEA
2919 D55F4826ED6ABA190A03260CF4D1B0C4836CE4EAD15879E10551DFD35A8C5E632919 D55F4826ED6ABA190A03260CF4D1B0C4836CE4EAD15879E10551DFD35A8C5E63
2920 97F7C2E5B1106EED3746A1716376B43FA6D812C42A0F4E7DC8228619785077D92920 97F7C2E5B1106EED3746A1716376B43FA6D812C42A0F4E7DC8228619785077D9
2921 91391138EA6A07CE358D213C09806D499A88D575358723E331CB230DD4CB12742921 91391138EA6A07CE358D213C09806D499A88D575358723E331CB230DD4CB1274
2922 7BDB660BA3129D27BE899A0764CA6BE06A84B08C9EA649010DAD65570A579F242922 7BDB660BA3129D27BE899A0764CA6BE06A84B08C9EA649010DAD65570A579F24
2923 1F3EB9F89B2155DDAF488C120BBE1D5076E650B4C5654ACB4DC2C72ED33769F82923 1F3EB9F89B2155DDAF488C120BBE1D5076E650B4C5654ACB4DC2C72ED33769F8
2924 ED6B343D0711FB967996E7A9565B70A4C034294C82806EDD634136CE032480792924 ED6B343D0711FB967996E7A9565B70A4C034294C82806EDD634136CE03248079
2925 1DA779C965AD668C8C5FFCBD07A47E02070040A5885DF629FFD3A7E76D5F0AFB2925 1DA779C965AD668C8C5FFCBD07A47E02070040A5885DF629FFD3A7E76D5C91FE
 2926 7E94B1C3A4B407650FF82F11DF2B64E60C52A8983BFE66B6BE93A528A8929D32
 2927 7EA9965CEBFB3B2A5509E470134D8EEFF58A2AFB06B9E4AA8699501A3D3BDEA1
 2928 30FAA47F6325DF460F8C86431FDEE0C3A6E3E5D19CA943F76B723502133D6528
 2929 D5F264C106ADB5A4E596AAB6F862D16C3F3DB2949B772F6CA08F14B4F3A825A0
 2930 B38675D5FB27F1C48CA8C80DCD1A18575EC21771BE3E49D53B443A4E50EDA3B3
 2931 257FB26C09C9A9A6645EC3996766E94E4E57CB948EFC9C9BDCDBA8C498BFCFF8
 2932 F80C81CA1AEB153C08D62FC6DBA50507AC9C96D53AA38CD5F9DD9DF8A564CD2F
 2933 792897F1071CF6BAD51B89DD37E9273C1C69E3971D0D1C190229D708D14ABF49
 2934 D2C36446ED9B0AD8E3A0491887D473C9A7D248B243E4CDB0890975FD9209F6DA
 2935 A8AF52FFD241E9C7F23449461C4EC052609F65B5B93411DA37EFD01C50DDC031
 2936 3F91672D55454CB7BAC96C346E136583662AC5151FBEEC8494826BA4A9DDD2A0
 2937 5C0C4B9F90CCB41B08EE8D8E016177596BD443C66BE6BD8DCC66D6BC96F22B98
 2938 0DA6BB8A6C09932C80CCA33C00C93C1CCEE7ADDB74B1D052A975E384CC808256
 2939 F7561217E05C425F794303C7EB9C96D719E6FD48CF71B870C1326FF7AF6EB96D
 2940 7A54E4481F2F67FB87A9EC7ADA96B6D3E1182EEA9429AA3D31481EE79C08908A
 2941 0030F9B6450603C57EA9BD9243349957C69508423F2644E31D1012A047423B29
 2942 D8E848FE420734DA15E89737622119E4916CD3837A002B1C932929ACA73D9937
 2943 16F6F05303F6167D06E450A1EDCB90993CE832BAEC9D064303E649859A48798F
 2944 CE00CC7525CE34E2467C488F1820CE24E3FE506C1902B7CCC9D36F6A713F48AA
 2945 5BA4BF9D1CAF77E997A40C1A2FA1A0D83E4E9FFB350319E87F537C247CD891C1
 2946 250C49E060D9465F243E983DB5D37918AFA0419DAA179CAA8E0DE64FC7BBC943
 2947 E4345F211FB41D8F838347870455EBAC87F6383CE88D4E28E41294BFEFD713EF
 2948 7C83135460949730A94BF2A9E75D1C9A6815E896041E7A1518F0263060627BE2
 2949 1BFDC9FC22AF2793C464F4BB25D6F00EDF7754A261653D5188DD418182E5EA11
 2950 8C6DA35037A7F8203F7545466E8BB6AA0AE24B1C2A3C2DCD310B3E21BF6526EC
 2951 AFA523DDA92EC2EE7E1B75E14187CA0506A921F93D9CEE1F2C05F786A9F98CD4
 2952 E902FCD100CF8D14C2A93F817F4856DB7836D1D582EAECFD6D6F3FB66EF7085C
 2953 F4536D9BA1A976660D7C2148D38BE577D593D2C8EFB1AB640126EC0C405B77CB
 2954 8AB2EC8823C3F73AB3EE80A24920104E78A79329569E21CA91296F1DED7C0CE8
 2955 A647381B9F2AB3EA0C8E75DA0C1718860384A227816AF55F19107E626FEB8D7D
 2956 84C85F5FDDB4D7FA0639221CA3845CD02B39035607135884A89FF4D78B2B83C3
 2957 936E738AD9CC3574D2600DAB19CEB4E6B4A9F52604F394FF423AF24B9E1D2486
 2958 2E6EE1A21C9D2F5D55A2DBE90768CCF661B31177EEE89D8BB8F925A122D9F6D5
 2959 2D63568D2DC6C5C1D578F228BFAF0A8C5CFF3EAA41415C7C9A5E5CA5BA3A9C77
 2960 DA592511058DDCC0E79CC1A31CD77A935A7725113C207233634B49474A22D553
 2961 E844ED3DE02106B47875AD8159F469C93D441EFFB8E243960C7C526B35C299C0
 2962 5B2405BFB550780EF1887D7A7B8962E644C5E974CAFA59230881C5EEE3D30528
 2963 8C1FF38C51F9C8BA59AD43DFFCC5A009FBADFA4062A60552DBD6A302E67E88F9
 2964 93FB21DB4966B4B5BBF222CE9957AE025897185C9EF4B6ACA908C30E576362F0
 2965 B5C8177B25F3F3BC2D06085DC5FBE7E8D5A0A35505E5A73836CF57259F8EB5A9
 2966 EBBF91EBD3333DDA67113485C937C793C4A869D947886D2DA0336AFF1C7AE02D
 2967 EC7307817B40A6CE421D445E0747A5036450C4C4FDFB54AAFA78E7CCBE52768C
 2968 84E876A643D42747FD308450AE73AA9EEEDD3BD5AD64B4BD723578C4E923CCEB
 2969 0494959B6A7C28F8C816561099DC681C24F970FD5C961023CAFD62BEE8235D54
 2970 A0B67CEA9EBF6C8637ABEE15A11A27DE3ADFBAB235F7349667BFC3088399F737
 2971 015182FD067B38A192F2D4C70327D4FF836084CEDDAEF361E100AC5115DB15AA
 2972 6758CDF33414DAD8B63AEFEBF6A192477BEADE10A7B9AB63CC523F21B9DCDF62
 2973 D89930691A9CD2F67DACC313FDB3FAE05282AD7CC92F849F27B5F6429FA44D75
 2974 5B9023C8956579C30D9ED97A2A5CAD033A81266BACE4BF586948D8C90A214F24
 2975 517EAF93E08430950EE4008DE567BFD11019BBE4815B52D4223A29248157F7E6
 2976 7F5ACED0082E2316A9AA57403BE87A65718B4AA264F37E7F92C52D9581616913
 2977 D49A2AF256397950D6E022717207343B6E8E2D70C69A512A9936C198A809297C
 2978 2A077E7E8D8AABCD611B32AD69526AB2EE4B98A95B2793848B54D03523B68BC1
 2979 C86978E811303074D8658338BED2C22F028FB8EF7BA17E44A86A6D17791D7B10
 2980 0FD3B8C9FC9B78B7EF3A27373FDD590AE43EC94B51421489D57206A338B5C44E
 2981 211451D79EFE6DD0923A272C1C69E84131649C8A6BBB18970C195C21BA361BD4
 2982 CC7FA26EF0C05909AF0793803593B986D1D7058E046A12E5FF37B8B3EBEE3ECD
 2983 89ECE5402657F2D5E4B222CEBEDCB8251016865691E2422867C9FBCBBB0FC3F7
 2984 211580BD860BDF1316BCAE6CE5F13CC763A1B5E3AF1273365CBA4F5CEBF80CFF
 2985 A0776A732F10A34B1B75CF55AC3AAF6B51354E25ED82A173F8A8B2A0C54FCDAD
 2986 28F828EF0A85C7370C390F26757BBAB570161C4D533809D2EA38B771F8280804
 2987 297B76B094AB9B343D3193E9F1E797DAD7AD1C493EFD317EEB85E19CB5174611
 2988 1E4855CE8802C96DB5405CD3B7AB3837FBD66A5A49C03F2F890C85060C832E01
 2989 DBCDD5B28872459C6CB110E76C89E2C57AA3F1EF0814BBA1A1A5EA57483A8846
 2990 8AF7507F1DFD747D4519C1AD6C82EB097204751C3BD8D920C7B7EC9CFE0E227C
 2991 2C0AAC6FF3F5DC48BEDD75EDD40C57C86C8296B4DECB5A928AD0A6B8C27B33E2
 2992 482375EAC00111CB508B249479D3D7D9EA8B2B4E51AB7D24E0377B8D5F6DC296
 2993 5A60424CAAE1F5FD35A8D23CB2146711FB9C623410FEE6A4A12EDE67A90C7A23
 2994 0C2B85B2E3880B78EA68DB2D9B4B5A345635AB0A35F59368BDAF49F0547FDFC1
 2995 DF9D113F5DA8F5AECF0DE795903574D06DEC583C4641EE504FE0B3806E349857
 2996 3915A38EB91B83C54C2210BF1670A22CEE76423B2083D378BB61ECC91643C9A8
 2997 EC31676095022C6D99FFF7623465BA9CA72A0518EFB7E18BFBA989FA61C33121
 2998 51B59913814577AFB0A866E0CE2D9B999BFFA31582AAF71664E64D7D282EAB85
 2999 4EA424CE339CCEB7135655E5338052C74AAFEED01FB955D93CE846B8008715F4
 3000 CEE94B2FB5F8D5EE6DEFE6056EA407F11B5FF19586DD3943C7F07E9756B8770C
 3001 611BADD5C6CCA38513EDCB170BB4664E994843150B32B31560D1E6956F108BB4
 3002 B554F1BC2F260725C72AFC16ADE95082E963B70C34392BB22D5E4DF531ED17D9
 3003 C27AD2FD7960761595A9C9A73631856F93DDEBB9044A9D7844DA607168DB1F0E
 3004 6D5E7E860072DE82F566FF4BD421A5369E8BCC8E10FA2A020EA6DA299131A78C
 3005 D2A157840E640DF3BC8E8C417A11EB6D2FBABCE83225380AF934512C94AD0EED
 3006 13608F7ACC07FD19C0B1AC5470947BB9D2A06345FA1EB864F0FA264190858B25
Max diff block lines reached; 56791/72152 bytes (78.71%) of diff not shown.
27.5 KB
ps2ascii {}
    
Offset 1, 11 lines modifiedOffset 1, 11 lines modified
1 ·························Ordering·Sparse·Matrices·and·Transforming·Front·Trees\xd1 ·························Ordering·Sparse·Matrices·and·Transforming·Front·Trees\xd
2 ·······························································································\xd2 ·······························································································\xd
3 ··········································Cleve·Ashcraft,·Boeing·Shared·Services·Group\xd3 ··········································Cleve·Ashcraft,·Boeing·Shared·Services·Group\xd
4 ···························································January·15,·2021\xd4 ··························································February·18,·2022\xd
5 ················1·····Introduction\xd5 ················1·····Introduction\xd
6 ················If·the·ultimate·goal·is·to·solve·linear·systems·of·the·form·AX·=·B,·one·must·compute·an·A·=·LDU,\xd6 ················If·the·ultimate·goal·is·to·solve·linear·systems·of·the·form·AX·=·B,·one·must·compute·an·A·=·LDU,\xd
7 ················A=UTDU·orA=UHDU·factorization,·depending·on·whether·the·matrix·A·is·nonsymmetric,·symmetric\xd7 ················A=UTDU·orA=UHDU·factorization,·depending·on·whether·the·matrix·A·is·nonsymmetric,·symmetric\xd
8 ················or·Hermitian.·D·is·a·diagonal·or·block·diagonal·matrix,·L·is·unit·lower·triangular,·and·U·is·unit·upper\xd8 ················or·Hermitian.·D·is·a·diagonal·or·block·diagonal·matrix,·L·is·unit·lower·triangular,·and·U·is·unit·upper\xd
9 ················triangular.·A·is·sparse,·but·the·sparsity·structure·of·L·and·U·will·likely·be·much·larger·than·that·of·A,\xd9 ················triangular.·A·is·sparse,·but·the·sparsity·structure·of·L·and·U·will·likely·be·much·larger·than·that·of·A,\xd
10 ················i.e.,·they·will·suffer·fill-in.·It·is·crucial·to·find·a·permutation·matrix·such·that·the·factors·of·PAPT·have·as\xd10 ················i.e.,·they·will·suffer·fill-in.·It·is·crucial·to·find·a·permutation·matrix·such·that·the·factors·of·PAPT·have·as\xd
11 ················moderate·fill-in·as·can·be·reasonably·expected.\xd11 ················moderate·fill-in·as·can·be·reasonably·expected.\xd
Offset 35, 15 lines modifiedOffset 35, 15 lines modified
35 ····················Section·2·introduces·some·background·on·sparse·matrix·orderings·and·describes·the·SPOOLES·or-\xd35 ····················Section·2·introduces·some·background·on·sparse·matrix·orderings·and·describes·the·SPOOLES·or-\xd
36 ················dering·software.·Section·3·presents·the·front·tree·object·that·controls·the·factorization,·and·its·various\xd36 ················dering·software.·Section·3·presents·the·front·tree·object·that·controls·the·factorization,·and·its·various\xd
37 ················transformations·to·improve·performance.\xd37 ················transformations·to·improve·performance.\xd
38 ···················∗P.·O.·Box·24346,·Mail·Stop·7L-21,·Seattle,·Washington·98124.·This·research·was·supported·in·part·by·the·DARPA\xd38 ···················∗P.·O.·Box·24346,·Mail·Stop·7L-21,·Seattle,·Washington·98124.·This·research·was·supported·in·part·by·the·DARPA\xd
39 ················Contract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd39 ················Contract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd
40 ················Support·Initiative.\xd40 ················Support·Initiative.\xd
41 ····································································1\xd41 ····································································1\xd
42 ··············2········Orderings·and·Front·Trees··········································January·15,·2021\xd42 ··············2········Orderings·and·Front·Trees·········································February·18,·2022\xd
43 ··············2····Sparse·matrix·orderings\xd43 ··············2····Sparse·matrix·orderings\xd
44 ··············Thepast·few·years·have·seen·a·resurgence·of·interest·and·accompanying·improvement·in·algorithms·and·soft-\xd44 ··············Thepast·few·years·have·seen·a·resurgence·of·interest·and·accompanying·improvement·in·algorithms·and·soft-\xd
45 ··············ware·to·order·sparse·matrices.·The·minimum·degree·algorithm,·specifically·the·multiple·external·minimum\xd45 ··············ware·to·order·sparse·matrices.·The·minimum·degree·algorithm,·specifically·the·multiple·external·minimum\xd
46 ··············degree·algorithm·[19],·was·the·preferred·algorithm·of·choice·for·the·better·part·of·a·decade.·Alternative·min-\xd46 ··············degree·algorithm·[19],·was·the·preferred·algorithm·of·choice·for·the·better·part·of·a·decade.·Alternative·min-\xd
47 ··············imum·priority·codes·have·recently·pushed·multiple·minimum·degree·aside,·including·approximate·minimum\xd47 ··············imum·priority·codes·have·recently·pushed·multiple·minimum·degree·aside,·including·approximate·minimum\xd
48 ··············degree·[1]·and·approximate·deficiency·[21],·[25].·They·offer·improved·quality·or·improved·run·time,·and·on\xd48 ··············degree·[1]·and·approximate·deficiency·[21],·[25].·They·offer·improved·quality·or·improved·run·time,·and·on\xd
49 ··············occasion,·both.\xd49 ··············occasion,·both.\xd
Offset 81, 15 lines modifiedOffset 81, 15 lines modified
81 ·················One·can·construct·the·IVL·object·directly.·There·are·methods·to·set·the·number·of·lists,·to·set·the·size\xd81 ·················One·can·construct·the·IVL·object·directly.·There·are·methods·to·set·the·number·of·lists,·to·set·the·size\xd
82 ··············of·a·list,·to·copy·entries·in·a·list·into·the·object.·It·resizes·itself·as·necessary.·However,·if·one·already·has\xd82 ··············of·a·list,·to·copy·entries·in·a·list·into·the·object.·It·resizes·itself·as·necessary.·However,·if·one·already·has\xd
83 ··············the·matrix·entries·of·A·stored·in·an·InpMtx·object·(which·is·the·way·that·SPOOLES·deals·with·sparse\xd83 ··············the·matrix·entries·of·A·stored·in·an·InpMtx·object·(which·is·the·way·that·SPOOLES·deals·with·sparse\xd
84 ··············matrices),·there·is·an·easier·way.·One·can·create·an·IVL·object·from·the·InpMtx·object,·as·follows.\xd84 ··············matrices),·there·is·an·easier·way.·One·can·create·an·IVL·object·from·the·InpMtx·object,·as·follows.\xd
85 ··············InpMtx···*A·;\xd85 ··············InpMtx···*A·;\xd
86 ··············IVL······*adjIVL·;\xd86 ··············IVL······*adjIVL·;\xd
87 ··············adjIVL·=·InpMtx_fullAdjacency(A)·;\xd87 ··············adjIVL·=·InpMtx_fullAdjacency(A)·;\xd
88 ·················January·15,·2021·····················································Orderings·and·Front·Trees·········3\xd88 ·················February·18,·2022····················································Orderings·and·Front·Trees·········3\xd
89 ········································Figure·1:·A·3×4·9-point·grid·with·its·adjacency·structure\xd89 ········································Figure·1:·A·3×4·9-point·grid·with·its·adjacency·structure\xd
90 ·················································IVL·:·integer·vector·list·object·:\xd90 ·················································IVL·:·integer·vector·list·object·:\xd
91 ·················································type·1,·chunked·storage\xd91 ·················································type·1,·chunked·storage\xd
92 ·················································12·lists,·12·maximum·lists,·70·tsize,·4240·total·bytes\xd92 ·················································12·lists,·12·maximum·lists,·70·tsize,·4240·total·bytes\xd
93 ·················································1·chunks,·70·active·entries,·1024·allocated,·6.84·%·used\xd93 ·················································1·chunks,·70·active·entries,·1024·allocated,·6.84·%·used\xd
94 ·····················································0·:·0·1·3·4\xd94 ·····················································0·:·0·1·3·4\xd
95 ····························9····10···11·············1·:·0·1·2·3·4·5\xd95 ····························9····10···11·············1·:·0·1·2·3·4·5\xd
Offset 121, 15 lines modifiedOffset 121, 15 lines modified
121 ·················This·is·an·initializer·for·the·Graph·object,·one·that·takes·as·input·a·complete·IVL·adjacency·object.·The\xd121 ·················This·is·an·initializer·for·the·Graph·object,·one·that·takes·as·input·a·complete·IVL·adjacency·object.·The\xd
122 ·················0·and·NULL·fields·are·not·applicable·here.·(The·Graph·object·is·sophisticated··it·can·have·weighted·or\xd122 ·················0·and·NULL·fields·are·not·applicable·here.·(The·Graph·object·is·sophisticated··it·can·have·weighted·or\xd
123 ·················unweighted·vertices,·weighted·or·unweighted·edges,·or·both,·and·it·can·have·boundary·vertices.·Neither·is\xd123 ·················unweighted·vertices,·weighted·or·unweighted·edges,·or·both,·and·it·can·have·boundary·vertices.·Neither·is\xd
124 ·················relevant·now.)\xd124 ·················relevant·now.)\xd
125 ·················2.2···Constructing·an·ordering\xd125 ·················2.2···Constructing·an·ordering\xd
126 ·················Once·we·have·a·Graph·object,·we·can·construct·an·ordering.·There·are·four·choices:\xd126 ·················Once·we·have·a·Graph·object,·we·can·construct·an·ordering.·There·are·four·choices:\xd
127 ·····················minimum·degree,·(actually·multiple·external·minimum·degree,·from·[19]),\xd127 ·····················minimum·degree,·(actually·multiple·external·minimum·degree,·from·[19]),\xd
128 ··············4········Orderings·and·Front·Trees·········································January·15,·2021\xd128 ··············4········Orderings·and·Front·Trees········································February·18,·2022\xd
129 ··················generalized·nested·dissection,\xd129 ··················generalized·nested·dissection,\xd
130 ··················multisection,·and\xd130 ··················multisection,·and\xd
131 ··················the·better·of·generalized·nested·dissection·and·multisection.\xd131 ··················the·better·of·generalized·nested·dissection·and·multisection.\xd
132 ··············Minimum·degree·takes·the·least·amount·of·CPU·time.·Generalized·nested·dissection·and·multisection·both\xd132 ··············Minimum·degree·takes·the·least·amount·of·CPU·time.·Generalized·nested·dissection·and·multisection·both\xd
133 ··············require·the·a·partition·of·the·graph,·which·can·be·much·more·expensive·to·compute·than·a·minimum·degree\xd133 ··············require·the·a·partition·of·the·graph,·which·can·be·much·more·expensive·to·compute·than·a·minimum·degree\xd
134 ··············ordering.·By·and·large,·for·larger·graphs·nested·dissection·generates·better·orderings·than·minimum·degree,\xd134 ··············ordering.·By·and·large,·for·larger·graphs·nested·dissection·generates·better·orderings·than·minimum·degree,\xd
135 ··············and·the·difference·in·quality·increases·as·the·graph·size·increases.·Multisection·is·an·ordering·which·almost\xd135 ··············and·the·difference·in·quality·increases·as·the·graph·size·increases.·Multisection·is·an·ordering·which·almost\xd
Offset 161, 15 lines modifiedOffset 161, 15 lines modified
161 ··············etree·=·orderViaBestOfNDandMS(graph,·maxdomainsize,·maxzeros,\xd161 ··············etree·=·orderViaBestOfNDandMS(graph,·maxdomainsize,·maxzeros,\xd
162 ············································maxsize,·seed,·msglvl,·msgFile)·;\xd162 ············································maxsize,·seed,·msglvl,·msgFile)·;\xd
163 ··············Now·let·us·describe·the·different·parameters.\xd163 ··············Now·let·us·describe·the·different·parameters.\xd
164 ··················The·msglvl·and·msgFile·parameters·are·used·to·control·output.·When·msglvl·=·0,·there·is·no\xd164 ··················The·msglvl·and·msgFile·parameters·are·used·to·control·output.·When·msglvl·=·0,·there·is·no\xd
165 ···················output.·When·msglvl·>·0,·output·goes·to·the·msgFile·file.·The·SPOOLES·library·is·a·research\xd165 ···················output.·When·msglvl·>·0,·output·goes·to·the·msgFile·file.·The·SPOOLES·library·is·a·research\xd
166 ···················code,·we·have·left·a·great·deal·of·monitoring·and·debug·code·in·the·software.·Large·values·of·msglvl\xd166 ···················code,·we·have·left·a·great·deal·of·monitoring·and·debug·code·in·the·software.·Large·values·of·msglvl\xd
167 ···················mayresult·in·large·message·files.·To·see·the·statistics·generated·during·the·ordering,·use·msglvl·=·1.\xd167 ···················mayresult·in·large·message·files.·To·see·the·statistics·generated·during·the·ordering,·use·msglvl·=·1.\xd
168 ················January·15,·2021···················································Orderings·and·Front·Trees·········5\xd168 ················February·18,·2022··················································Orderings·and·Front·Trees·········5\xd
169 ····················Theseedparameterisusedasarandomnumberseed.·(Therearemanyplacesinthegraphpartitioning\xd169 ····················Theseedparameterisusedasarandomnumberseed.·(Therearemanyplacesinthegraphpartitioning\xd
170 ······················and·minimum·degree·algorithms·where·randomness·plays·a·part.·Using·a·random·number·seed·ensures\xd170 ······················and·minimum·degree·algorithms·where·randomness·plays·a·part.·Using·a·random·number·seed·ensures\xd
171 ······················repeatability.)\xd171 ······················repeatability.)\xd
172 ····················maxdomainsize·is·used·for·the·nested·dissection·and·multisection·orderings.·This·parameter·is·used\xd172 ····················maxdomainsize·is·used·for·the·nested·dissection·and·multisection·orderings.·This·parameter·is·used\xd
173 ······················during·the·graph·partition.·Any·subgraph·that·is·larger·than·maxdomainsize·is·split.·We·recommend\xd173 ······················during·the·graph·partition.·Any·subgraph·that·is·larger·than·maxdomainsize·is·split.·We·recommend\xd
174 ······················using·a·value·of·neqns/16·or·neqns/32.·Note:·maxdomainsize·must·be·greater·than·zero.\xd174 ······················using·a·value·of·neqns/16·or·neqns/32.·Note:·maxdomainsize·must·be·greater·than·zero.\xd
175 ····················maxzeros·and·maxsize·are·used·to·transform·the·front·tree.·In·effect,·we·have·placed·the·ordering\xd175 ····················maxzeros·and·maxsize·are·used·to·transform·the·front·tree.·In·effect,·we·have·placed·the·ordering\xd
Offset 203, 15 lines modifiedOffset 203, 15 lines modified
203 ··································10102·····4.6·····210364···10651916·····6.2·····211089···10722231\xd203 ··································10102·····4.6·····210364···10651916·····6.2·····211089···10722231\xd
204 ··································10103·····4.6·····215795···11760095·····6.4·····217141···11606103\xd204 ··································10103·····4.6·····215795···11760095·····6.4·····217141···11606103\xd
205 ··································10104·····4.6·····210989···10842091·····6.1·····212828···11168728\xd205 ··································10104·····4.6·····210989···10842091·····6.1·····212828···11168728\xd
206 ··································10105·····4.8·····209201···10335761·····6.1·····210468···10582750\xd206 ··································10105·····4.8·····209201···10335761·····6.1·····210468···10582750\xd
207 ················For·the·nested·dissection·and·multisection·orderings,·we·used·maxdomainsize·=·100.·We·see·that·there·is\xd207 ················For·the·nested·dissection·and·multisection·orderings,·we·used·maxdomainsize·=·100.·We·see·that·there·is\xd
208 ················really·little·difference·in·ordering·quality,·while·the·minimum·degree·ordering·takes·much·less·time·than·the\xd208 ················really·little·difference·in·ordering·quality,·while·the·minimum·degree·ordering·takes·much·less·time·than·the\xd
209 ················other·orderings.\xd209 ················other·orderings.\xd
210 ··············6········Orderings·and·Front·Trees···········································January·15,·2021\xd210 ··············6········Orderings·and·Front·Trees··········································February·18,·2022\xd
211 ·················Let·us·now·look·at·a·random·triangulation·of·a·unit·cube.·This·matrix·has·13824·rows·and·columns.\xd211 ·················Let·us·now·look·at·a·random·triangulation·of·a·unit·cube.·This·matrix·has·13824·rows·and·columns.\xd
212 ··············Each·face·of·the·cube·has·a·22×22·regular·grid·of·points.·The·remainder·of·the·vertices·are·placed·in·the\xd212 ··············Each·face·of·the·cube·has·a·22×22·regular·grid·of·points.·The·remainder·of·the·vertices·are·placed·in·the\xd
213 ··············interior·using·quasi-random·points,·and·the·Delauney·triangulation·is·computed.\xd213 ··············interior·using·quasi-random·points,·and·the·Delauney·triangulation·is·computed.\xd
214 ··········································minimum·degree···············nested·dissection\xd214 ··········································minimum·degree···············nested·dissection\xd
215 ······························seed··CPU·#entries·········#ops·CPU·#entries············#ops\xd215 ······························seed··CPU·#entries·········#ops·CPU·#entries············#ops\xd
216 ·····························10101····9.2···5783892··6119141542··27.8···3410222··1921402246\xd216 ·····························10101····9.2···5783892··6119141542··27.8···3410222··1921402246\xd
217 ·····························10102····8.8···5651678··5959584620··31.4···3470063··1998795621\xd217 ·····························10102····8.8···5651678··5959584620··31.4···3470063··1998795621\xd
Offset 245, 15 lines modifiedOffset 245, 15 lines modified
245 ··············ETree····*vetree·;\xd245 ··············ETree····*vetree·;\xd
246 ··············int······*newToOld,·*oldToNew·;\xd246 ··············int······*newToOld,·*oldToNew·;\xd
247 ··············Graph····*graph·;\xd247 ··············Graph····*graph·;\xd
248 ··············vetree·=·ETree_new()·;\xd248 ··············vetree·=·ETree_new()·;\xd
249 ··············ETree_initFromGraphWithPerms(vetree,·graph,·newToOld,·oldToNew)·;\xd249 ··············ETree_initFromGraphWithPerms(vetree,·graph,·newToOld,·oldToNew)·;\xd
250 ··············Thevetreeobjectinthecodefragmentaboveisavertex·elimination·tree·[20],·[26],·where·each·front·contains\xd250 ··············Thevetreeobjectinthecodefragmentaboveisavertex·elimination·tree·[20],·[26],·where·each·front·contains\xd
251 ··············one·vertex.\xd251 ··············one·vertex.\xd
252 ·····························January·15,·2021············································································································Orderings·and·Front·Trees·····································7\xd252 ·····························February·18,·2022···········································································································Orderings·and·Front·Trees·····································7\xd
253 ········································································Figure·2:·R2D100:·randomly·triangulated,·100·grid·points\xd253 ········································································Figure·2:·R2D100:·randomly·triangulated,·100·grid·points\xd
254 ·······························································································································48·······49······51·······50······55·······91·······8·······11·······10·······9\xd254 ·······························································································································48·······49······51·······50······55·······91·······8·······11·······10·······9\xd
255 ·············································································································································52\xd255 ·············································································································································52\xd
256 ·······························································································································53··························69······54···········17···························18\xd256 ·······························································································································53··························69······54···········17···························18\xd
257 ···································································································································································67·95\xd257 ···································································································································································67·95\xd
258 ············································································································································70················································19\xd258 ············································································································································70················································19\xd
259 ·······························································································································66····68·······························································5······3\xd259 ·······························································································································66····68·······························································5······3\xd
Offset 300, 15 lines modifiedOffset 300, 15 lines modified
300 ·····························tree·[2]·has·these·property:·any·node·in·the·tree·is\xd300 ·····························tree·[2]·has·these·property:·any·node·in·the·tree·is\xd
301 ····································either·a·leaf,\xd301 ····································either·a·leaf,\xd
302 ····································or·has·two·or·more·children,\xd302 ····································or·has·two·or·more·children,\xd
303 ····································or·its·nonzero·structure·is·not·contained·in·that·of·its·one·child.\xd303 ····································or·its·nonzero·structure·is·not·contained·in·that·of·its·one·child.\xd
304 ·····························The·top·tree·in·Figure·4·shows·the·vertex·elimination·tree·with·the·“front”·number·of·each·vertex·superim-\xd304 ·····························The·top·tree·in·Figure·4·shows·the·vertex·elimination·tree·with·the·“front”·number·of·each·vertex·superim-\xd
305 ·····························posed·on·the·vertex.·The·bottom·tree·is·the·fundamental·supernode·tree.·Figure·5·shows·the·block·partition\xd305 ·····························posed·on·the·vertex.·The·bottom·tree·is·the·fundamental·supernode·tree.·Figure·5·shows·the·block·partition\xd
306 ··································1Vertex·j·is·the·parent·of·i·if·j·is·the·first·vertex·greater·than·i·such·that·Lj,i·6=·0.\xd306 ··································1Vertex·j·is·the·parent·of·i·if·j·is·the·first·vertex·greater·than·i·such·that·Lj,i·6=·0.\xd
307 ··············8········Orderings·and·Front·Trees·········································January·15,·2021\xd307 ··············8········Orderings·and·Front·Trees········································February·18,·2022\xd
308 ······························Figure·3:·Vertex·elimination·tree·for·R2D100,·100·rows·and·columns\xd308 ······························Figure·3:·Vertex·elimination·tree·for·R2D100,·100·rows·and·columns\xd
309 ···························································99\xd309 ···························································99\xd
310 ···························································98\xd310 ···························································98\xd
311 ···························································97\xd311 ···························································97\xd
312 ···························································96\xd312 ···························································96\xd
313 ···························································95\xd313 ···························································95\xd
314 ···························································94\xd314 ···························································94\xd
Offset 327, 15 lines modifiedOffset 327, 15 lines modified
327 ·····························7········17··········31···39·····55······65·····71······78··81\xd327 ·····························7········17··········31···39·····55······65·····71······78··81\xd
328 ·····························6·····11····16····27···30·38···53··54····64···········75·77·80\xd328 ·····························6·····11····16····27···30·38···53··54····64···········75·77·80\xd
329 ···························2··5···8·10·13·15·22·26·29·37····52······59··63············76·79\xd329 ···························2··5···8·10·13·15·22·26·29·37····52······59··63············76·79\xd
Max diff block lines reached; 15069/28104 bytes (53.62%) of diff not shown.
61.5 KB
./usr/share/doc/spooles-doc/GPart.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3665061 gzip·compressed·data,·max·compression,·from·Unix,·original·size·366721
61.3 KB
GPart.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMMI10·CMR88 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMMI10·CMR8
9 %%+·CMMI8·CMEX10·CMSL10·CMBX10·CMSY89 %%+·CMMI8·CMEX10·CMSL10·CMBX10·CMSY8
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·GPart.ps13 %DVIPSCommandLine:·dvips·main·-o·GPart.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1330, 19 lines modifiedOffset 1330, 20 lines modified
1330 end·readonly·def1330 end·readonly·def
1331 /Encoding·256·array1331 /Encoding·256·array
1332 0·1·255·{1·index·exch·/.notdef·put}·for1332 0·1·255·{1·index·exch·/.notdef·put}·for
1333 dup·44·/comma·put1333 dup·44·/comma·put
1334 dup·48·/zero·put1334 dup·48·/zero·put
1335 dup·49·/one·put1335 dup·49·/one·put
1336 dup·50·/two·put1336 dup·50·/two·put
1337 dup·53·/five·put1337 dup·56·/eight·put
1338 dup·58·/colon·put1338 dup·58·/colon·put
1339 dup·74·/J·put1339 dup·70·/F·put
1340 dup·97·/a·put1340 dup·97·/a·put
 1341 dup·98·/b·put
1341 dup·110·/n·put1342 dup·101·/e·put
1342 dup·114·/r·put1343 dup·114·/r·put
1343 dup·117·/u·put1344 dup·117·/u·put
1344 dup·121·/y·put1345 dup·121·/y·put
1345 readonly·def1346 readonly·def
1346 currentdict·end1347 currentdict·end
1347 currentfile·eexec1348 currentfile·eexec
1348 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71349 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1526, 84 lines modifiedOffset 1527, 86 lines modified
1526 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1527 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1527 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821528 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1528 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1529 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1529 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51530 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1530 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051531 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1531 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051532 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1532 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671533 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1533 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041534 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1534 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1535 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1536 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1537 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1538 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1539 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1540 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1541 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1542 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1543 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1544 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1545 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1546 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1547 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1548 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1549 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1550 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1551 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1552 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1553 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1554 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1555 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1556 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1557 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1558 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1559 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1560 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1561 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1562 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1563 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1564 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1565 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1566 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1567 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1568 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1569 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1570 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1571 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1572 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1573 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1574 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1575 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1576 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1577 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1578 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1579 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1580 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1581 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1582 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1583 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1584 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1585 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1586 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1587 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1588 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1589 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1590 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1591 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1592 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1593 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1594 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1595 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1596 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1597 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1598 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1599 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1600 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1601 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1602 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51535 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1536 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1537 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1538 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1539 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1540 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1541 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1542 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1543 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1544 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1545 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1546 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1547 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1548 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 33997/45157 bytes (75.29%) of diff not shown.
17.1 KB
ps2ascii {}
    
Offset 30, 15 lines modifiedOffset 30, 15 lines modified
30 ···············condensed·into·the·source·while·the·nodes·in·W·\Y·are·condensed·into·the·sink.·The·rest·of\xd30 ···············condensed·into·the·source·while·the·nodes·in·W·\Y·are·condensed·into·the·sink.·The·rest·of\xd
31 ···············the·network·is·formed·using·the·structure·of·the·subgraph·induced·by·Y.·Given·a·min-cut·of\xd31 ···············the·network·is·formed·using·the·structure·of·the·subgraph·induced·by·Y.·Given·a·min-cut·of\xd
32 ···········································b\xd32 ···········································b\xd
33 ···············the·network·we·can·identify·a·separator·S··Y·that·has·minimal·weight.·We·examine·two\xd33 ···············the·network·we·can·identify·a·separator·S··Y·that·has·minimal·weight.·We·examine·two\xd
34 ···············(possibly)·different·min-cuts·and·evaluate·the·partitions·induced·via·their·minimal·weight\xd34 ···············(possibly)·different·min-cuts·and·evaluate·the·partitions·induced·via·their·minimal·weight\xd
35 ···············separators,·and·accept·a·better·partition·if·present.\xd35 ···············separators,·and·accept·a·better·partition·if·present.\xd
36 ············································1\xd36 ············································1\xd
37 ···········2······················GPart·:·DRAFT·January·15,·2021\xd37 ···········2······················GPart·:·DRAFT·February·18,·2022\xd
38 ···········This·process·we·call·DDSEP,·which·is·short·for·Domain·Decomposition·SEParator,·explained·in·more\xd38 ···········This·process·we·call·DDSEP,·which·is·short·for·Domain·Decomposition·SEParator,·explained·in·more\xd
39 ···········detail·in·[?]·and·[?].\xd39 ···········detail·in·[?]·and·[?].\xd
40 ···········1.1··Data·Structures\xd40 ···········1.1··Data·Structures\xd
41 ···········The·GPart·structure·has·a·pointer·to·a·Graph·object·and·other·fields·that·contain·information\xd41 ···········The·GPart·structure·has·a·pointer·to·a·Graph·object·and·other·fields·that·contain·information\xd
42 ···········about·the·partition·of·the·graph.\xd42 ···········about·the·partition·of·the·graph.\xd
43 ··············The·following·fields·are·always·active.\xd43 ··············The·following·fields·are·always·active.\xd
44 ··············Graph·*graph·:·pointer·to·the·Graph·object\xd44 ··············Graph·*graph·:·pointer·to·the·Graph·object\xd
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ··············GPart·*sib·:·pointer·to·a·sibling·GPart·object\xd61 ··············GPart·*sib·:·pointer·to·a·sibling·GPart·object\xd
62 ··············IV·vtxMapIV·:·an·IV·object·of·size·nvtx·+·nvbnd,·contains·a·map·from·the·vertices·of·the\xd62 ··············IV·vtxMapIV·:·an·IV·object·of·size·nvtx·+·nvbnd,·contains·a·map·from·the·vertices·of·the\xd
63 ···············graph·to·either·the·vertices·of·its·parent·or·to·the·vertices·of·the·root·graph\xd63 ···············graph·to·either·the·vertices·of·its·parent·or·to·the·vertices·of·the·root·graph\xd
64 ··············The·DDsepInfo·helper-object·is·used·during·the·DDSEP·recursive·bisection·process.·It·contains\xd64 ··············The·DDsepInfo·helper-object·is·used·during·the·DDSEP·recursive·bisection·process.·It·contains\xd
65 ···········input·parameters·for·the·different·stages·of·the·DDSEP·algorithm,·and·collects·statistics·about·the\xd65 ···········input·parameters·for·the·different·stages·of·the·DDSEP·algorithm,·and·collects·statistics·about·the\xd
66 ···········CPUtime·spent·in·each·stage.\xd66 ···········CPUtime·spent·in·each·stage.\xd
67 ··············These·parameters·are·used·to·generate·the·domain·decomposition.\xd67 ··············These·parameters·are·used·to·generate·the·domain·decomposition.\xd
68 ············································GPart·:·DRAFT·····January·15,·2021··························3\xd68 ············································GPart·:·DRAFT·····February·18,·2022·························3\xd
69 ·······················int·minweight:·minimum·target·weight·for·a·domain\xd69 ·······················int·minweight:·minimum·target·weight·for·a·domain\xd
70 ·······················int·maxweight:·maximum·target·weight·for·a·domain\xd70 ·······················int·maxweight:·maximum·target·weight·for·a·domain\xd
71 ·······················double·freeze:·multiplier·used·to·freeze·vertices·of·high·degree·into·the·multisector.\xd71 ·······················double·freeze:·multiplier·used·to·freeze·vertices·of·high·degree·into·the·multisector.\xd
72 ························If·the·degree·of·v·is·more·than·freeze·times·the·median·degree,·v·is·placed·into·the\xd72 ························If·the·degree·of·v·is·more·than·freeze·times·the·median·degree,·v·is·placed·into·the\xd
73 ························multisector.\xd73 ························multisector.\xd
74 ·······················int·seed:·random·number·seed\xd74 ·······················int·seed:·random·number·seed\xd
75 ·······················int·DDoption:·If·1,·a·new·domain·decomposition·is·constructed·for·each·subgraph.·If\xd75 ·······················int·DDoption:·If·1,·a·new·domain·decomposition·is·constructed·for·each·subgraph.·If\xd
Offset 98, 15 lines modifiedOffset 98, 15 lines modified
98 ·······················int·ntreeobj:·number·of·tree·objects·in·the·tree,·used·to·set·gpart->id·and·used·to\xd98 ·······················int·ntreeobj:·number·of·tree·objects·in·the·tree,·used·to·set·gpart->id·and·used·to\xd
99 ························initialize·the·DSTree·object.\xd99 ························initialize·the·DSTree·object.\xd
100 ·······················int·msglvl·:·message·level\xd100 ·······················int·msglvl·:·message·level\xd
101 ·······················FILE·*msgFile·:·message·file·pointer\xd101 ·······················FILE·*msgFile·:·message·file·pointer\xd
102 ··············1.2·····Prototypes·and·descriptions·of·GPart·methods\xd102 ··············1.2·····Prototypes·and·descriptions·of·GPart·methods\xd
103 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd103 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
104 ··············GPart·object.·There·are·no·IO·methods.\xd104 ··············GPart·object.·There·are·no·IO·methods.\xd
105 ··············4····························GPart·:·DRAFT·January·15,·2021\xd105 ··············4···························GPart·:·DRAFT·February·18,·2022\xd
106 ··············1.2.1··Basic·methods\xd106 ··············1.2.1··Basic·methods\xd
107 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd107 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
108 ··············any·allocated·data,·and·free’ing·the·object.\xd108 ··············any·allocated·data,·and·free’ing·the·object.\xd
109 ················1.·GPart·*·GPart_new·(·void·)·;\xd109 ················1.·GPart·*·GPart_new·(·void·)·;\xd
110 ···················This·method·simply·allocates·storage·for·the·GPart·structure·and·then·sets·the·default·fields\xd110 ···················This·method·simply·allocates·storage·for·the·GPart·structure·and·then·sets·the·default·fields\xd
111 ···················by·a·call·to·GPart·setDefaultFields().\xd111 ···················by·a·call·to·GPart·setDefaultFields().\xd
112 ················2.·void·GPart_setDefaultFields·(·GPart·*gpart·)·;\xd112 ················2.·void·GPart_setDefaultFields·(·GPart·*gpart·)·;\xd
Offset 132, 15 lines modifiedOffset 132, 15 lines modified
132 ···················compidsIV·and·cweightsIV·IV·objects·are·initialized.·The·remaining·fields·are·not·changed\xd132 ···················compidsIV·and·cweightsIV·IV·objects·are·initialized.·The·remaining·fields·are·not·changed\xd
133 ···················from·their·default·values.\xd133 ···················from·their·default·values.\xd
134 ···················Error·checking:·If·gpart·or·g·is·NULL,·or·if·g->nvtx··0,·an·error·message·is·printed·and·the\xd134 ···················Error·checking:·If·gpart·or·g·is·NULL,·or·if·g->nvtx··0,·an·error·message·is·printed·and·the\xd
135 ···················program·exits.\xd135 ···················program·exits.\xd
136 ················2.·void·GPart_setMessageInfo·(·GPart·*gpart,·int·msglvl,·FILE·*msgFile·)·;\xd136 ················2.·void·GPart_setMessageInfo·(·GPart·*gpart,·int·msglvl,·FILE·*msgFile·)·;\xd
137 ···················This·method·sets·the·msglvl·and·msgFile·fields.\xd137 ···················This·method·sets·the·msglvl·and·msgFile·fields.\xd
138 ···················Error·checking:·If·gpart·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd138 ···················Error·checking:·If·gpart·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
139 ······································GPart·:·DRAFT··January·15,·2021····················5\xd139 ·····································GPart·:·DRAFT···February·18,·2022···················5\xd
140 ············1.2.3··Utility·methods\xd140 ············1.2.3··Utility·methods\xd
141 ···············1.·void·GPart_setCweights·(·GPart·*gpart·)·;\xd141 ···············1.·void·GPart_setCweights·(·GPart·*gpart·)·;\xd
142 ·················This·method·sets·the·component·weights·vector·cweightsIV.·We·assume·that·the·compidsIV\xd142 ·················This·method·sets·the·component·weights·vector·cweightsIV.·We·assume·that·the·compidsIV\xd
143 ·················vector·has·been·set·prior·to·entering·this·method.·The·weight·of·a·component·is·not·simply\xd143 ·················vector·has·been·set·prior·to·entering·this·method.·The·weight·of·a·component·is·not·simply\xd
144 ·················the·sum·of·the·weights·of·the·vertices·with·that·component’s·id.·We·accept·the·separator·or\xd144 ·················the·sum·of·the·weights·of·the·vertices·with·that·component’s·id.·We·accept·the·separator·or\xd
145 ·················multisector·vertices·(those·v·with·compids[v]·==·0)·but·then·find·the·connected·components\xd145 ·················multisector·vertices·(those·v·with·compids[v]·==·0)·but·then·find·the·connected·components\xd
146 ·················of·the·remaining·vertices,·renumbering·the·compidsIV·vector·where·necessary.·Thus,·ncomp\xd146 ·················of·the·remaining·vertices,·renumbering·the·compidsIV·vector·where·necessary.·Thus,·ncomp\xd
Offset 171, 15 lines modifiedOffset 171, 15 lines modified
171 ·················This·method·determines·whether·the·vertex·v·is·adjacent·to·just·one·domain·or·not.·We·use\xd171 ·················This·method·determines·whether·the·vertex·v·is·adjacent·to·just·one·domain·or·not.·We·use\xd
172 ·················this·method·to·make·a·separator·or·multisector·minimal.·If·the·vertex·is·adjacent·to·only·one\xd172 ·················this·method·to·make·a·separator·or·multisector·minimal.·If·the·vertex·is·adjacent·to·only·one\xd
173 ·················domain,·the·return·value·is·1·and·*pdomid·is·set·to·the·domain’s·id.·If·a·vertex·is·adjacent\xd173 ·················domain,·the·return·value·is·1·and·*pdomid·is·set·to·the·domain’s·id.·If·a·vertex·is·adjacent\xd
174 ·················to·zero·or·two·or·more·domains,·the·return·value·is·zero.·If·a·vertex·belongs·to·a·domain,·it\xd174 ·················to·zero·or·two·or·more·domains,·the·return·value·is·zero.·If·a·vertex·belongs·to·a·domain,·it\xd
175 ·················is·considered·adjacent·to·that·domain.\xd175 ·················is·considered·adjacent·to·that·domain.\xd
176 ·················Error·checking:·If·gpart,·g·or·domid·is·NULL,·or·if·v·is·out·of·range·(i.e.,·v·<·0·or·nvtx··v),\xd176 ·················Error·checking:·If·gpart,·g·or·domid·is·NULL,·or·if·v·is·out·of·range·(i.e.,·v·<·0·or·nvtx··v),\xd
177 ·················an·error·message·is·printed·and·the·program·exits.\xd177 ·················an·error·message·is·printed·and·the·program·exits.\xd
178 ··············6····························GPart·:·DRAFT·January·15,·2021\xd178 ··············6···························GPart·:·DRAFT·February·18,·2022\xd
179 ················6.·IV·*·GPart_bndWeightsIV·(·GPart·*gpart·)·;\xd179 ················6.·IV·*·GPart_bndWeightsIV·(·GPart·*gpart·)·;\xd
180 ···················This·method·returns·an·IV·object·that·contains·the·weights·of·the·vertices·on·the·boundaries\xd180 ···················This·method·returns·an·IV·object·that·contains·the·weights·of·the·vertices·on·the·boundaries\xd
181 ···················of·the·components.\xd181 ···················of·the·components.\xd
182 ···················Error·checking:·If·gpart·or·g·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd182 ···················Error·checking:·If·gpart·or·g·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
183 ··············1.2.4··Domain·decomposition·methods\xd183 ··············1.2.4··Domain·decomposition·methods\xd
184 ··············There·are·presently·two·methods·that·create·a·domain·decomposition·of·a·graph·or·a·subgraph.\xd184 ··············There·are·presently·two·methods·that·create·a·domain·decomposition·of·a·graph·or·a·subgraph.\xd
185 ················1.·void·GPart_DDviaFishnet·(·GPart·*gpart,·double·frac,·int·minweight,\xd185 ················1.·void·GPart_DDviaFishnet·(·GPart·*gpart,·double·frac,·int·minweight,\xd
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ················································double·cpus[]·)·;\xd209 ················································double·cpus[]·)·;\xd
210 ···················This·method·takes·a·domain·decomposition·{Φ,Ω·,...,Ω·}·defined·by·the·compidsIV·vector\xd210 ···················This·method·takes·a·domain·decomposition·{Φ,Ω·,...,Ω·}·defined·by·the·compidsIV·vector\xd
211 ·····························································1······m\xd211 ·····························································1······m\xd
212 ···················and·generates·a·two·set·partition·[S,B,W].·We·first·compute·the·map·from·vertices·to\xd212 ···················and·generates·a·two·set·partition·[S,B,W].·We·first·compute·the·map·from·vertices·to\xd
213 ···················domains·and·segments·(the·segments·partition·the·interface·nodes·Φ).·We·then·construct·the\xd213 ···················domains·and·segments·(the·segments·partition·the·interface·nodes·Φ).·We·then·construct·the\xd
214 ···················bipartite·graph·that·represents·the·connectivity·of·the·domains·and·segments.·Each·segment\xd214 ···················bipartite·graph·that·represents·the·connectivity·of·the·domains·and·segments.·Each·segment\xd
215 ···················is·an·“edge”·that·connects·two·“adjacent”·domains.·This·allows·us·to·use·a·variant·of·the\xd215 ···················is·an·“edge”·that·connects·two·“adjacent”·domains.·This·allows·us·to·use·a·variant·of·the\xd
216 ······································GPart·:·DRAFT··January·15,·2021····················7\xd216 ·····································GPart·:·DRAFT···February·18,·2022···················7\xd
217 ·················Kernighan-Lin·algorithm·to·find·an·“edge”·separator·formed·of·segments,·which·is·really·a\xd217 ·················Kernighan-Lin·algorithm·to·find·an·“edge”·separator·formed·of·segments,·which·is·really·a\xd
218 ·················vertex·separator,·a·subset·of·Φ.·The·alpha·parameter·is·used·in·the·cost·function·evaluation\xd218 ·················vertex·separator,·a·subset·of·Φ.·The·alpha·parameter·is·used·in·the·cost·function·evaluation\xd
219 ·················for·the·partition,·cost([S,B,W])·=·|S|\x121+αmax{|B|,|W|}\x13.·The·seed·parameter·is·used\xd219 ·················for·the·partition,·cost([S,B,W])·=·|S|\x121+αmax{|B|,|W|}\x13.·The·seed·parameter·is·used\xd
220 ·····················································min{|B|,|W|}\xd220 ·····················································min{|B|,|W|}\xd
221 ·················to·randomize·the·algorithm.·One·can·make·several·runswith·different·seeds·and·chose·the·best\xd221 ·················to·randomize·the·algorithm.·One·can·make·several·runswith·different·seeds·and·chose·the·best\xd
222 ·················partition.·The·cpus[]·array·is·used·to·store·execution·times·for·segments·of·the·algorithm:\xd222 ·················partition.·The·cpus[]·array·is·used·to·store·execution·times·for·segments·of·the·algorithm:\xd
223 ·················cpus[0]·stores·the·time·to·compute·the·domain/segment·map;·cpus[2]·stores·the·time·to\xd223 ·················cpus[0]·stores·the·time·to·compute·the·domain/segment·map;·cpus[2]·stores·the·time·to\xd
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ·································0\xd253 ·································0\xd
254 ································Y··=·{y∈Y·|·y∈Adj(B\Y)·and·y·∈/·Adj(W·\Y)}\xd254 ································Y··=·{y∈Y·|·y∈Adj(B\Y)·and·y·∈/·Adj(W·\Y)}\xd
255 ·································1\xd255 ·································1\xd
256 ································Y··=·{y∈Y·|·y∈/·Adj(B·\Y)·and·y··Adj(W·\Y)}\xd256 ································Y··=·{y∈Y·|·y∈/·Adj(B·\Y)·and·y··Adj(W·\Y)}\xd
257 ·································2\xd257 ·································2\xd
258 ································Y··=·{y∈Y·|·y∈Adj(B\Y)·and·y·∈Adj(W·\Y)}\xd258 ································Y··=·{y∈Y·|·y∈Adj(B\Y)·and·y·∈Adj(W·\Y)}\xd
259 ·································3\xd259 ·································3\xd
260 ··················8·····································GPart·:·DRAFT·January·15,·2021\xd260 ··················8····································GPart·:·DRAFT·February·18,·2022\xd
261 ························The·YVmapIV·object·contains·the·list·of·vertices·in·the·wide·separator·Y·.·The·IV·object·that\xd261 ························The·YVmapIV·object·contains·the·list·of·vertices·in·the·wide·separator·Y·.·The·IV·object·that\xd
262 ························is·returned,·(called·YCmapIV·in·the·calling·method)·contains·the·subscripts·of·the·Y·,·Y·,·Y\xd262 ························is·returned,·(called·YCmapIV·in·the·calling·method)·contains·the·subscripts·of·the·Y·,·Y·,·Y\xd
263 ························································································································0···1···2\xd263 ························································································································0···1···2\xd
264 ························or·Y·sets·that·contains·each·vertex.\xd264 ························or·Y·sets·that·contains·each·vertex.\xd
265 ·····························3\xd265 ·····························3\xd
266 ························Error·checking:·If·gpart,·g·or·YVmapIV·is·NULL,·or·if·nvtx··0,·or·if·YVmapIV·is·empty,·an\xd266 ························Error·checking:·If·gpart,·g·or·YVmapIV·is·NULL,·or·if·nvtx··0,·or·if·YVmapIV·is·empty,·an\xd
267 ························error·message·is·printed·and·the·program·exits.\xd267 ························error·message·is·printed·and·the·program·exits.\xd
Offset 303, 15 lines modifiedOffset 303, 15 lines modified
303 ························improves·it·(if·possible).·The·methods·returns·the·cost·of·a·(possibly)·new·two-set·partition\xd303 ························improves·it·(if·possible).·The·methods·returns·the·cost·of·a·(possibly)·new·two-set·partition\xd
304 ·························b·b·c\xd304 ·························b·b·c\xd
305 ························[S,B,W]·defined·by·the·compidsIV·vector.·The·wide·separator·Y·that·is·constructed·is\xd305 ························[S,B,W]·defined·by·the·compidsIV·vector.·The·wide·separator·Y·that·is·constructed·is\xd
306 ························centered·around·S,·i.e.,·Y·includes·all·nodes·in·B·and·W·that·are·nlayer·distance·or·less\xd306 ························centered·around·S,·i.e.,·Y·includes·all·nodes·in·B·and·W·that·are·nlayer·distance·or·less\xd
307 ························from·S.·This·method·calls·GPart·smoothYSep().\xd307 ························from·S.·This·method·calls·GPart·smoothYSep().\xd
308 ························Error·checking:·If·gpart·is·NULL,·or·if·nlevel·<·0,·or·if·alpha·<·0.0,·an·error·message·is\xd308 ························Error·checking:·If·gpart·is·NULL,·or·if·nlevel·<·0,·or·if·alpha·<·0.0,·an·error·message·is\xd
309 ························printed·and·the·program·exits.\xd309 ························printed·and·the·program·exits.\xd
310 ······································GPart·:·DRAFT··January·15,·2021····················9\xd310 ·····································GPart·:·DRAFT···February·18,·2022···················9\xd
311 ············1.2.7··Recursive·Bisection·method\xd311 ············1.2.7··Recursive·Bisection·method\xd
312 ············There·is·presently·one·method·to·construct·the·domain/separator·tree.\xd312 ············There·is·presently·one·method·to·construct·the·domain/separator·tree.\xd
313 ···············1.·DSTree·*·GPart_RBviaDDsep·(·GPart·*gpart,·DDsepInfo·*info·)·;\xd313 ···············1.·DSTree·*·GPart_RBviaDDsep·(·GPart·*gpart,·DDsepInfo·*info·)·;\xd
314 ·················This·method·performs·a·recursive·bisection·of·the·graph·using·the·DDSEP·algorithm·and\xd314 ·················This·method·performs·a·recursive·bisection·of·the·graph·using·the·DDSEP·algorithm·and\xd
315 ·················returns·a·DSTree·object·that·represents·the·domain/separator·tree·and·the·map·from·vertices\xd315 ·················returns·a·DSTree·object·that·represents·the·domain/separator·tree·and·the·map·from·vertices\xd
316 ·················to·domains·and·separators.·The·DDsepInfo·structure·contains·all·the·parameters·to·the\xd316 ·················to·domains·and·separators.·The·DDsepInfo·structure·contains·all·the·parameters·to·the\xd
317 ·················different·steps·of·the·DDSEP·algorithm·(the·fishnet·method·to·find·the·domain·decomposition,\xd317 ·················different·steps·of·the·DDSEP·algorithm·(the·fishnet·method·to·find·the·domain·decomposition,\xd
Max diff block lines reached; 6489/17526 bytes (37.02%) of diff not shown.
51.0 KB
./usr/share/doc/spooles-doc/Graph.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·4279141 gzip·compressed·data,·max·compression,·from·Unix,·original·size·428124
50.7 KB
Graph.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMR8·CMTI10·CMBX10·CMMI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMR8·CMTI10·CMBX10·CMMI10
9 %%+·CMSY10·CMR6·CMR9·CMTT9·CMSL109 %%+·CMSY10·CMR6·CMR9·CMTT9·CMSL10
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·Graph.ps13 %DVIPSCommandLine:·dvips·main·-o·Graph.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 793, 19 lines modifiedOffset 793, 20 lines modified
793 end·readonly·def793 end·readonly·def
794 /Encoding·256·array794 /Encoding·256·array
795 0·1·255·{1·index·exch·/.notdef·put}·for795 0·1·255·{1·index·exch·/.notdef·put}·for
796 dup·44·/comma·put796 dup·44·/comma·put
797 dup·48·/zero·put797 dup·48·/zero·put
798 dup·49·/one·put798 dup·49·/one·put
799 dup·50·/two·put799 dup·50·/two·put
800 dup·53·/five·put800 dup·56·/eight·put
801 dup·58·/colon·put801 dup·58·/colon·put
802 dup·74·/J·put802 dup·70·/F·put
803 dup·97·/a·put803 dup·97·/a·put
 804 dup·98·/b·put
804 dup·110·/n·put805 dup·101·/e·put
805 dup·114·/r·put806 dup·114·/r·put
806 dup·117·/u·put807 dup·117·/u·put
807 dup·121·/y·put808 dup·121·/y·put
808 readonly·def809 readonly·def
809 currentdict·end810 currentdict·end
810 currentfile·eexec811 currentfile·eexec
811 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7812 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 989, 84 lines modifiedOffset 990, 86 lines modified
989 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A990 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
990 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082991 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
991 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E992 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
992 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5993 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
993 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05994 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
994 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05995 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
995 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767996 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
996 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704997 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
997 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
998 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
999 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1000 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1001 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1002 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1003 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1004 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1005 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1006 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1007 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1008 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1009 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1010 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1011 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1012 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1013 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1014 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1015 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1016 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1017 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1018 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1019 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1020 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1021 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1022 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1023 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1024 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1025 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1026 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1027 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1028 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1029 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1030 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1031 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1032 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1033 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1034 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1035 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1036 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1037 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1038 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1039 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1040 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1041 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1042 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1043 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1044 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1045 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1046 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1047 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1048 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1049 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1050 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1051 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1052 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1053 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1054 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1055 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1056 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1057 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1058 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1059 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1060 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1061 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1062 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1063 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1064 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1065 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5998 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 999 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1000 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1001 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1002 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1003 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1004 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1005 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1006 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1007 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1008 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1009 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1010 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1011 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 24997/36154 bytes (69.14%) of diff not shown.
15.4 KB
ps2ascii {}
    
Offset 27, 15 lines modifiedOffset 27, 15 lines modified
27 ················weight·vertices·in·the·weighted·vertex.·The·weight·of·an·edge·is·w(u,v),·the·number·of·(u,v)·edges\xd27 ················weight·vertices·in·the·weighted·vertex.·The·weight·of·an·edge·is·w(u,v),·the·number·of·(u,v)·edges\xd
28 ················in·the·unit·weight·graph·where·u··u·and·v··v.\xd28 ················in·the·unit·weight·graph·where·u··u·and·v··v.\xd
29 ····················Thenaturalcompressedgraph[?],[?]isveryimportantformanymatricesfromstructralanalysis\xd29 ····················Thenaturalcompressedgraph[?],[?]isveryimportantformanymatricesfromstructralanalysis\xd
30 ················and·computational·fluid·mechanics.·This·type·of·graph·has·one·special·property:\xd30 ················and·computational·fluid·mechanics.·This·type·of·graph·has·one·special·property:\xd
31 ························································w(u,v)·=·w(u)·w(v)\xd31 ························································w(u,v)·=·w(u)·w(v)\xd
32 ···················1The·EGraph·object·represents·a·graph·of·the·matrix,·but·stores·a·list·of·covering·cliques·in·an·IVL·object.\xd32 ···················1The·EGraph·object·represents·a·graph·of·the·matrix,·but·stores·a·list·of·covering·cliques·in·an·IVL·object.\xd
33 ··································································1\xd33 ··································································1\xd
34 ················2································Graph·:·DRAFT·January·15,·2021\xd34 ················2································Graph·:·DRAFT·February·18,·2022\xd
35 ················and·it·is·the·smallest·graph·with·this·property.·The·compression·is·loss-less,·for·given·G(V,E)\xd35 ················and·it·is·the·smallest·graph·with·this·property.·The·compression·is·loss-less,·for·given·G(V,E)\xd
36 ················and·φ,·we·can·reconstruct·the·unit·weight·graph·G(V,E).·In·effect,·we·can·work·with·the·natural\xd36 ················and·φ,·we·can·reconstruct·the·unit·weight·graph·G(V,E).·In·effect,·we·can·work·with·the·natural\xd
37 ················compressed·graph·to·find·separators·and·orderings·and·map·back·to·the·unit·weight·graph.·The\xd37 ················compressed·graph·to·find·separators·and·orderings·and·map·back·to·the·unit·weight·graph.·The\xd
38 ················savings·in·time·and·space·can·be·considerable.\xd38 ················savings·in·time·and·space·can·be·considerable.\xd
39 ···················The·Graph·object·has·a·method·to·find·the·φ·map·for·the·natural·compressed·graph;·it·requires\xd39 ···················The·Graph·object·has·a·method·to·find·the·φ·map·for·the·natural·compressed·graph;·it·requires\xd
40 ················O(|V|)·space·and·O(|E|)·time.·There·is·a·method·to·compress·a·graph·(i.e.,·given·G(V,E)·and\xd40 ················O(|V|)·space·and·O(|E|)·time.·There·is·a·method·to·compress·a·graph·(i.e.,·given·G(V,E)·and\xd
41 ················an·arbitrary·φ,·construct·G(V,E))·and·a·method·to·expand·a·graph·(i.e.,·given·G(V,E)·and·an\xd41 ················an·arbitrary·φ,·construct·G(V,E))·and·a·method·to·expand·a·graph·(i.e.,·given·G(V,E)·and·an\xd
Offset 57, 15 lines modifiedOffset 57, 15 lines modified
57 ····················int·totewght·:·total·edge·weight\xd57 ····················int·totewght·:·total·edge·weight\xd
58 ····················IVL·*adjIVL·:·pointer·to·IVL·object·to·hold·adjacency·lists\xd58 ····················IVL·*adjIVL·:·pointer·to·IVL·object·to·hold·adjacency·lists\xd
59 ····················int·*vwghts·:·pointer·to·a·vertex·to·hold·vertex·weights·non-NULL·if·type·%·2·==·1\xd59 ····················int·*vwghts·:·pointer·to·a·vertex·to·hold·vertex·weights·non-NULL·if·type·%·2·==·1\xd
60 ····················IVL·*ewghtIVL·:·pointer·to·IVL·object·to·hold·edge·weight·lists,·non-NULL·if·type·/·2·==·1\xd60 ····················IVL·*ewghtIVL·:·pointer·to·IVL·object·to·hold·edge·weight·lists,·non-NULL·if·type·/·2·==·1\xd
61 ················1.2····Prototypes·and·descriptions·of·Graph·methods\xd61 ················1.2····Prototypes·and·descriptions·of·Graph·methods\xd
62 ················This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd62 ················This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
63 ················Graph·object.\xd63 ················Graph·object.\xd
64 ················································Graph·:·DRAFT······January·15,·2021····························3\xd64 ···············································Graph·:·DRAFT·······February·18,·2022···························3\xd
65 ···············1.2.1····Basic·methods\xd65 ···············1.2.1····Basic·methods\xd
66 ···············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd66 ···············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
67 ···············any·allocated·data,·and·free’ing·the·object.\xd67 ···············any·allocated·data,·and·free’ing·the·object.\xd
68 ··················1.·Graph·*·Graph_new·(·void·)·;\xd68 ··················1.·Graph·*·Graph_new·(·void·)·;\xd
69 ·····················This·method·simply·allocates·storage·for·the·Graph·structure·and·then·sets·the·default·fields\xd69 ·····················This·method·simply·allocates·storage·for·the·Graph·structure·and·then·sets·the·default·fields\xd
70 ·····················by·a·call·to·Graph·setDefaultFields().\xd70 ·····················by·a·call·to·Graph·setDefaultFields().\xd
71 ··················2.·void·Graph_setDefaultFields·(·Graph·*graph·)·;\xd71 ··················2.·void·Graph_setDefaultFields·(·Graph·*graph·)·;\xd
Offset 91, 15 lines modifiedOffset 91, 15 lines modified
91 ············································int·adjType,·int·ewghtType·)·;\xd91 ············································int·adjType,·int·ewghtType·)·;\xd
92 ·····················Thisisthebasicinitializer·method.·Anypreviousdataisclearedwithacall·toGraph·clearData().\xd92 ·····················Thisisthebasicinitializer·method.·Anypreviousdataisclearedwithacall·toGraph·clearData().\xd
93 ·····················Thenthescalar·fields·are·set·and·the·adjIVL·object·is·initialized.·If·type·is·1·or·3,·the·vwghts\xd93 ·····················Thenthescalar·fields·are·set·and·the·adjIVL·object·is·initialized.·If·type·is·1·or·3,·the·vwghts\xd
94 ·····················vector·is·initialized·to·zeros.·If·type·is·2·or·3,·the·ewghtIVL·object·is·initialized.\xd94 ·····················vector·is·initialized·to·zeros.·If·type·is·2·or·3,·the·ewghtIVL·object·is·initialized.\xd
95 ·····················Error·checking:·If·graph·is·NULL,·type·is·invalid·(type·must·be·in·[0,3]),·nvtx·is·non-\xd95 ·····················Error·checking:·If·graph·is·NULL,·type·is·invalid·(type·must·be·in·[0,3]),·nvtx·is·non-\xd
96 ·····················positive,·nvbnd·or·nedges·is·negative,·or·adjType·of·ewghtType·is·invalid·(they·must·be\xd96 ·····················positive,·nvbnd·or·nedges·is·negative,·or·adjType·of·ewghtType·is·invalid·(they·must·be\xd
97 ·····················IVL·CHUNKED,·IVL·SOLO·or·IVL·UNKNOWN).·an·error·message·is·printed·and·the·program·exits.\xd97 ·····················IVL·CHUNKED,·IVL·SOLO·or·IVL·UNKNOWN).·an·error·message·is·printed·and·the·program·exits.\xd
98 ··············4····························Graph·:·DRAFT·January·15,·2021\xd98 ··············4···························Graph·:·DRAFT·February·18,·2022\xd
99 ················2.·void·Graph_init2·(·Graph·*graph,·int·type,·int·nvtx,·int·nvbnd,·int·nedges,\xd99 ················2.·void·Graph_init2·(·Graph·*graph,·int·type,·int·nvtx,·int·nvbnd,·int·nedges,\xd
100 ························int·totvwght,·int·totewght,·IVL·*adjIVL,·int·*vwghts,·IVL·*ewghtIVL)\xd100 ························int·totvwght,·int·totewght,·IVL·*adjIVL,·int·*vwghts,·IVL·*ewghtIVL)\xd
101 ··················This·method·is·used·by·the·IO·read·methods.·When·a·Graph·object·is·read·from·a·file,\xd101 ··················This·method·is·used·by·the·IO·read·methods.·When·a·Graph·object·is·read·from·a·file,\xd
102 ··················the·IVL·object(s)·must·be·initialized·and·then·read·in·from·the·file.·Therefore,·we·need·an\xd102 ··················the·IVL·object(s)·must·be·initialized·and·then·read·in·from·the·file.·Therefore,·we·need·an\xd
103 ··················initialization·method·that·allows·us·to·set·pointers·to·the·IVL·objects·and·the·vwghts·vector.\xd103 ··················initialization·method·that·allows·us·to·set·pointers·to·the·IVL·objects·and·the·vwghts·vector.\xd
104 ··················Note,·adjIVL,·vwghts·and·ewghtIVL·are·owned·by·the·Graph·object·and·will·be·free’d·when\xd104 ··················Note,·adjIVL,·vwghts·and·ewghtIVL·are·owned·by·the·Graph·object·and·will·be·free’d·when\xd
105 ··················the·Graph·object·is·free’d.\xd105 ··················the·Graph·object·is·free’d.\xd
Offset 130, 15 lines modifiedOffset 130, 15 lines modified
130 ··············1.2.3··Compress·and·Expand·methods\xd130 ··············1.2.3··Compress·and·Expand·methods\xd
131 ··············These·three·methods·find·an·equivalence·map·for·the·natural·compressed·graph,·compress·a·graph,\xd131 ··············These·three·methods·find·an·equivalence·map·for·the·natural·compressed·graph,·compress·a·graph,\xd
132 ··············and·expand·a·graph.\xd132 ··············and·expand·a·graph.\xd
133 ················1.·IV·*·Graph_equivMap·(·Graph·*graph·)·;\xd133 ················1.·IV·*·Graph_equivMap·(·Graph·*graph·)·;\xd
134 ··················This·method·constructs·the·equivalence·map·from·the·graph·to·its·natural·compressed·graph.\xd134 ··················This·method·constructs·the·equivalence·map·from·the·graph·to·its·natural·compressed·graph.\xd
135 ··················The·map·φ·:·V·7→·V·is·then·constructed·(see·the·Introduction·in·this·section)·and·put·into\xd135 ··················The·map·φ·:·V·7→·V·is·then·constructed·(see·the·Introduction·in·this·section)·and·put·into\xd
136 ··················an·IV·object·that·is·then·returned.\xd136 ··················an·IV·object·that·is·then·returned.\xd
137 ······································Graph·:·DRAFT··January·15,·2021····················5\xd137 ······································Graph·:·DRAFT··February·18,·2022···················5\xd
138 ·················Error·checking:·If·graph·is·NULL·or·nvtx·<=·0,·an·error·message·is·printed·and·the·program\xd138 ·················Error·checking:·If·graph·is·NULL·or·nvtx·<=·0,·an·error·message·is·printed·and·the·program\xd
139 ·················exits.\xd139 ·················exits.\xd
140 ···············2.·Graph·*·Graph_compress·(·Graph·*graph,·int·map[],·int·coarseType·)·;\xd140 ···············2.·Graph·*·Graph_compress·(·Graph·*graph,·int·map[],·int·coarseType·)·;\xd
141 ·················Graph·*·Graph_compress2·(·Graph·*graph,·IV·*mapIV,·int·coarseType·)·;\xd141 ·················Graph·*·Graph_compress2·(·Graph·*graph,·IV·*mapIV,·int·coarseType·)·;\xd
142 ·················This·Graph·and·map·objects·(map[]·or·mapIV)·are·checked·and·if·any·errors·are·found,\xd142 ·················This·Graph·and·map·objects·(map[]·or·mapIV)·are·checked·and·if·any·errors·are·found,\xd
143 ·················the·appropriate·message·is·printed·and·the·program·exits.·The·compressed·graph·object\xd143 ·················the·appropriate·message·is·printed·and·the·program·exits.·The·compressed·graph·object\xd
144 ·················is·constructed·and·returned.·Note,·the·compressed·graph·does·not·have·a·boundary,·even\xd144 ·················is·constructed·and·returned.·Note,·the·compressed·graph·does·not·have·a·boundary,·even\xd
Offset 164, 15 lines modifiedOffset 164, 15 lines modified
164 ···············1.·int·Graph_sizeOf·(·Graph·*graph·)·;\xd164 ···············1.·int·Graph_sizeOf·(·Graph·*graph·)·;\xd
165 ·················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd165 ·················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd
166 ·················Error·checking:·If·graph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd166 ·················Error·checking:·If·graph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
167 ···············2.·Graph_externalDegree·(·Graph·*graph,·int·v·)·;\xd167 ···············2.·Graph_externalDegree·(·Graph·*graph,·int·v·)·;\xd
168 ·················This·method·returns·the·weight·of·adj(v).\xd168 ·················This·method·returns·the·weight·of·adj(v).\xd
169 ·················Error·checking:·If·graph·is·NULL,·or·v·is·out·of·range,·an·error·message·is·printed·and·the\xd169 ·················Error·checking:·If·graph·is·NULL,·or·v·is·out·of·range,·an·error·message·is·printed·and·the\xd
170 ·················program·exits.\xd170 ·················program·exits.\xd
171 ·······6··············Graph·:·DRAFT·January·15,·2021\xd171 ·······6··············Graph·:·DRAFT·February·18,·2022\xd
172 ········3.·int·Graph_adjAndSize·(·Graph·*graph,·int·u,·int·*pusize,·int·**puadj)·;\xd172 ········3.·int·Graph_adjAndSize·(·Graph·*graph,·int·u,·int·*pusize,·int·**puadj)·;\xd
173 ··········This·method·fills·*pusize·with·the·size·of·the·adjacency·list·for·u·and·*puadj·points·to·the\xd173 ··········This·method·fills·*pusize·with·the·size·of·the·adjacency·list·for·u·and·*puadj·points·to·the\xd
174 ··········start·of·the·list·vector.\xd174 ··········start·of·the·list·vector.\xd
175 ··········Error·checking:·If·graph·is·NULL,·or·if·u·<·0·or·u·>=·nvtx·or·if·pusize·or·puadj·is·NULL,·an\xd175 ··········Error·checking:·If·graph·is·NULL,·or·if·u·<·0·or·u·>=·nvtx·or·if·pusize·or·puadj·is·NULL,·an\xd
176 ··········error·message·is·printed·and·the·program·exits.\xd176 ··········error·message·is·printed·and·the·program·exits.\xd
177 ········4.·int·Graph_adjAndEweights·(·Graph·*graph,·int·u,·int·*pusize,\xd177 ········4.·int·Graph_adjAndEweights·(·Graph·*graph,·int·u,·int·*pusize,\xd
178 ························int·**puadj,·int·**puewghts)·;\xd178 ························int·**puadj,·int·**puewghts)·;\xd
Offset 205, 15 lines modifiedOffset 205, 15 lines modified
205 ··········list·for·the·vertex·in·the·parent·graph.·Each·adjacency·list·for·a·boundary·vertex·of·the\xd205 ··········list·for·the·vertex·in·the·parent·graph.·Each·adjacency·list·for·a·boundary·vertex·of·the\xd
206 ··········subgraph·is·new·storage,·and·only·these·lists·are·free’d·when·the·subgraph·is·free’d.·A·map\xd206 ··········subgraph·is·new·storage,·and·only·these·lists·are·free’d·when·the·subgraph·is·free’d.·A·map\xd
207 ··········vector·is·created·that·maps·the·subgraphs’s·vertices·(both·internal·and·boundary)·into·the\xd207 ··········vector·is·created·that·maps·the·subgraphs’s·vertices·(both·internal·and·boundary)·into·the\xd
208 ··········parent·graph’s·vertices;·the·address·of·the·map·vector·is·put·into·*pmap.·The·adjacency·lists\xd208 ··········parent·graph’s·vertices;·the·address·of·the·map·vector·is·put·into·*pmap.·The·adjacency·lists\xd
209 ··········for·the·subgraph·are·overwritten·by·the·map[]·vector.·This·renders·the·graph·object·invalid.\xd209 ··········for·the·subgraph·are·overwritten·by·the·map[]·vector.·This·renders·the·graph·object·invalid.\xd
210 ··········The·graph·partitioning·methods·map·the·vertices·back·to·their·original·values.·Presently,\xd210 ··········The·graph·partitioning·methods·map·the·vertices·back·to·their·original·values.·Presently,\xd
211 ··········only·graphs·with·unit·edge·weights·are·allowed·as·input.\xd211 ··········only·graphs·with·unit·edge·weights·are·allowed·as·input.\xd
212 ······································Graph·:·DRAFT··January·15,·2021····················7\xd212 ······································Graph·:·DRAFT··February·18,·2022···················7\xd
213 ·················Error·checking:·If·graph·is·NULL·or·icomp·<·0·or·compids·or·pmap·is·NULL,·an·error·message\xd213 ·················Error·checking:·If·graph·is·NULL·or·icomp·<·0·or·compids·or·pmap·is·NULL,·an·error·message\xd
214 ·················is·printed·and·the·program·exits.\xd214 ·················is·printed·and·the·program·exits.\xd
215 ···············8.·int·Graph_isSymmetric·(·Graph·*graph·)·;\xd215 ···············8.·int·Graph_isSymmetric·(·Graph·*graph·)·;\xd
216 ·················This·method·returns·1·if·the·graph·is·symmetric·(i.e.,·edge·(i,j)·is·present·if·and·only·if\xd216 ·················This·method·returns·1·if·the·graph·is·symmetric·(i.e.,·edge·(i,j)·is·present·if·and·only·if\xd
217 ·················edge·(j,i)·is·present)·and·0·otherwise.\xd217 ·················edge·(j,i)·is·present)·and·0·otherwise.\xd
218 ·················Error·checking:·If·graph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd218 ·················Error·checking:·If·graph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
219 ············1.2.6··IO·methods\xd219 ············1.2.6··IO·methods\xd
Offset 242, 15 lines modifiedOffset 242, 15 lines modified
242 ·················file·and·returns·the·value·returned·from·the·called·routine.\xd242 ·················file·and·returns·the·value·returned·from·the·called·routine.\xd
243 ·················Error·checking:·If·graph·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.graphf·(for·a·formatted\xd243 ·················Error·checking:·If·graph·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.graphf·(for·a·formatted\xd
244 ·················file)·or·*.graphb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd244 ·················file)·or·*.graphb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd
245 ···············5.·int·Graph_writeToFormattedFile·(·Graph·*graph,·FILE·*fp·)·;\xd245 ···············5.·int·Graph_writeToFormattedFile·(·Graph·*graph,·FILE·*fp·)·;\xd
246 ·················This·method·writes·a·Graph·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the\xd246 ·················This·method·writes·a·Graph·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the\xd
247 ·················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd247 ·················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd
248 ·················Error·checking:·If·graph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd248 ·················Error·checking:·If·graph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
249 ···········8·······················Graph·:·DRAFT·January·15,·2021\xd249 ···········8······················Graph·:·DRAFT·February·18,·2022\xd
250 ·············6.·int·Graph_writeToBinaryFile·(·Graph·*graph,·FILE·*fp·)·;\xd250 ·············6.·int·Graph_writeToBinaryFile·(·Graph·*graph,·FILE·*fp·)·;\xd
251 ···············This·method·writes·a·Graph·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the·data,\xd251 ···············This·method·writes·a·Graph·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the·data,\xd
252 ···············the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd252 ···············the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd
253 ···············Error·checking:·If·graph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd253 ···············Error·checking:·If·graph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
254 ·············7.·int·Graph_writeForHumanEye·(·Graph·*graph,·FILE·*fp·)·;\xd254 ·············7.·int·Graph_writeForHumanEye·(·Graph·*graph,·FILE·*fp·)·;\xd
255 ···············This·method·writes·a·Graph·object·to·a·file·in·a·human·readable·format.·The·method\xd255 ···············This·method·writes·a·Graph·object·to·a·file·in·a·human·readable·format.·The·method\xd
256 ···············Graph·writeStats()is·called·to·write·out·the·header·and·statistics.·The·value·1·is·returned.\xd256 ···············Graph·writeStats()is·called·to·write·out·the·header·and·statistics.·The·value·1·is·returned.\xd
Offset 276, 15 lines modifiedOffset 276, 15 lines modified
276 ···················*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd276 ···················*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd
277 ···················method.\xd277 ···················method.\xd
278 ·············2.·compressGraph·msglvl·msgFile·inGraphFile·coarseType·outMapFile·outGraphFile\xd278 ·············2.·compressGraph·msglvl·msgFile·inGraphFile·coarseType·outMapFile·outGraphFile\xd
279 ···············This·driver·program·reads·in·a·Graph·object·from·a·file,·computes·the·equivalence·map·to\xd279 ···············This·driver·program·reads·in·a·Graph·object·from·a·file,·computes·the·equivalence·map·to\xd
280 ···············its·natural·compressed·graph·(the·first·graph·need·not·be·unit·weight),·and·constructs·the\xd280 ···············its·natural·compressed·graph·(the·first·graph·need·not·be·unit·weight),·and·constructs·the\xd
281 ···············natural·compressed·graph.·The·equivalence·map·and·compressed·graph·are·optionally·written\xd281 ···············natural·compressed·graph.·The·equivalence·map·and·compressed·graph·are·optionally·written\xd
282 ···············out·to·files.\xd282 ···············out·to·files.\xd
283 ···········································Graph·:·DRAFT·····January·15,·2021·························9\xd283 ···········································Graph·:·DRAFT·····February·18,·2022························9\xd
284 ·······················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd284 ·······················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd
285 ························that·all·objects·are·written·to·the·message·file.\xd285 ························that·all·objects·are·written·to·the·message·file.\xd
286 ·······················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd286 ·······················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
287 ························message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd287 ························message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd
288 ························data.\xd288 ························data.\xd
289 ·······················TheinGraphFileparameteristheinputfilefortheGraphobject.·It·mustbeof·theform\xd289 ·······················TheinGraphFileparameteristheinputfilefortheGraphobject.·It·mustbeof·theform\xd
290 ························*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd290 ························*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd
Max diff block lines reached; 4219/15744 bytes (26.80%) of diff not shown.
21.8 KB
./usr/share/doc/spooles-doc/I2Ohash.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2456411 gzip·compressed·data,·max·compression,·from·Unix,·original·size·245809
21.5 KB
I2Ohash.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMSL10·CMEX108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMSL10·CMEX10
9 %%+·CMMI8·CMR8·CMMI109 %%+·CMMI8·CMR8·CMMI10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·I2Ohash.ps13 %DVIPSCommandLine:·dvips·main·-o·I2Ohash.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1718, 19 lines modifiedOffset 1718, 20 lines modified
1718 end·readonly·def1718 end·readonly·def
1719 /Encoding·256·array1719 /Encoding·256·array
1720 0·1·255·{1·index·exch·/.notdef·put}·for1720 0·1·255·{1·index·exch·/.notdef·put}·for
1721 dup·44·/comma·put1721 dup·44·/comma·put
1722 dup·48·/zero·put1722 dup·48·/zero·put
1723 dup·49·/one·put1723 dup·49·/one·put
1724 dup·50·/two·put1724 dup·50·/two·put
1725 dup·53·/five·put1725 dup·56·/eight·put
1726 dup·58·/colon·put1726 dup·58·/colon·put
1727 dup·74·/J·put1727 dup·70·/F·put
1728 dup·97·/a·put1728 dup·97·/a·put
 1729 dup·98·/b·put
1729 dup·110·/n·put1730 dup·101·/e·put
1730 dup·114·/r·put1731 dup·114·/r·put
1731 dup·117·/u·put1732 dup·117·/u·put
1732 dup·121·/y·put1733 dup·121·/y·put
1733 readonly·def1734 readonly·def
1734 currentdict·end1735 currentdict·end
1735 currentfile·eexec1736 currentfile·eexec
1736 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71737 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1914, 84 lines modifiedOffset 1915, 86 lines modified
1914 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1915 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1915 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821916 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1916 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1917 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1917 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51918 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1918 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051919 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1919 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051920 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1920 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671921 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1921 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041922 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1922 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1923 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1924 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1925 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1926 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1927 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1928 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1929 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1930 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1931 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1932 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1933 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1934 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1935 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1936 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1937 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1938 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1939 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1940 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1941 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1942 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1943 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1944 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1945 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1946 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1947 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1948 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1949 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1950 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1951 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1952 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1953 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1954 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1955 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1956 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1957 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1958 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1959 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1960 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1961 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1962 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1963 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1964 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1965 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1966 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1967 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1968 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1969 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1970 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1971 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1972 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1973 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1974 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1975 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1976 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1977 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1978 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1979 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1980 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1981 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1982 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1983 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1984 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1985 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1986 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1987 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1988 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1989 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1990 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51923 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1924 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1925 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1926 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1927 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1928 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1929 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1930 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1931 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1932 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1933 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1934 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1935 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1936 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 6736/17885 bytes (37.66%) of diff not shown.
4.04 KB
ps2ascii {}
    
Offset 21, 15 lines modifiedOffset 21, 15 lines modified
21 ·······················int·nlist·:·number·of·lists·in·the·hash·table\xd21 ·······················int·nlist·:·number·of·lists·in·the·hash·table\xd
22 ·······················int·grow·:·when·no·I2OP·objects·are·available·to·insert·a·new·<key1,key2,value>·triple,\xd22 ·······················int·grow·:·when·no·I2OP·objects·are·available·to·insert·a·new·<key1,key2,value>·triple,\xd
23 ························the·object·can·allocate·grow·more·I2OP·objects·and·put·them·on·the·free·list.\xd23 ························the·object·can·allocate·grow·more·I2OP·objects·and·put·them·on·the·free·list.\xd
24 ·······················nitem·:·number·of·items·in·the·hash·table.\xd24 ·······················nitem·:·number·of·items·in·the·hash·table.\xd
25 ·······················I2OP·*baseI2OP·:·pointer·to·an·I2OP·object·that·keeps·track·of·all·the·I2OP·objects·that\xd25 ·······················I2OP·*baseI2OP·:·pointer·to·an·I2OP·object·that·keeps·track·of·all·the·I2OP·objects·that\xd
26 ························have·been·allocated·by·the·hash·table.\xd26 ························have·been·allocated·by·the·hash·table.\xd
27 ·········································································1\xd27 ·········································································1\xd
28 ··············2···························I2Ohash·:·DRAFT·January·15,·2021\xd28 ··············2··························I2Ohash·:·DRAFT·February·18,·2022\xd
29 ··················I2OP·*freeI2OP·:·pointer·to·the·first·I2OP·object·on·the·free·list.\xd29 ··················I2OP·*freeI2OP·:·pointer·to·the·first·I2OP·object·on·the·free·list.\xd
30 ··················I2OP·**heads·:·pointer·to·a·vector·of·pointers·to·I2OP·objects,·used·to·hold·a·pointer·to·the\xd30 ··················I2OP·**heads·:·pointer·to·a·vector·of·pointers·to·I2OP·objects,·used·to·hold·a·pointer·to·the\xd
31 ···················first·I2OP·object·in·each·list.\xd31 ···················first·I2OP·object·in·each·list.\xd
32 ·················Acorrectly·initialized·and·nontrivial·I2Ohash·object·will·have·nlist·>·0.·If·grow·is·zero·and\xd32 ·················Acorrectly·initialized·and·nontrivial·I2Ohash·object·will·have·nlist·>·0.·If·grow·is·zero·and\xd
33 ··············a·new·<key1,key2,value>·triple·is·given·to·the·hash·table·to·be·inserted,·a·fatal·error·occurs.\xd33 ··············a·new·<key1,key2,value>·triple·is·given·to·the·hash·table·to·be·inserted,·a·fatal·error·occurs.\xd
34 ··············1.2···Prototypes·and·descriptions·of·I2Ohash·methods\xd34 ··············1.2···Prototypes·and·descriptions·of·I2Ohash·methods\xd
35 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd35 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
Offset 51, 15 lines modifiedOffset 51, 15 lines modified
51 ···················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd51 ···················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
52 ················4.·void·I2Ohash_free·(·I2Ohash·*hashtable·)·;\xd52 ················4.·void·I2Ohash_free·(·I2Ohash·*hashtable·)·;\xd
53 ···················This·method·releases·any·storage·by·a·call·to·I2Ohash·clearData()·then·free’s·the·storage\xd53 ···················This·method·releases·any·storage·by·a·call·to·I2Ohash·clearData()·then·free’s·the·storage\xd
54 ···················for·the·structure·with·a·call·to·free().\xd54 ···················for·the·structure·with·a·call·to·free().\xd
55 ···················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd55 ···················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
56 ··············1.2.2··Initializer·methods\xd56 ··············1.2.2··Initializer·methods\xd
57 ··············There·is·one·initializer·method.\xd57 ··············There·is·one·initializer·method.\xd
58 ················································I2Ohash·:·DRAFT········January·15,·2021····························3\xd58 ················································I2Ohash·:·DRAFT·······February·18,·2022····························3\xd
59 ···················1.·void·I2Ohash_init·(·I2Ohash·*hashtable,·int·nlist,·int·nobj,·int·grow·)·;\xd59 ···················1.·void·I2Ohash_init·(·I2Ohash·*hashtable,·int·nlist,·int·nobj,·int·grow·)·;\xd
60 ······················This·method·is·the·basic·initializer·method.······It·clears·any·previous·data·with·a·call·to\xd60 ······················This·method·is·the·basic·initializer·method.······It·clears·any·previous·data·with·a·call·to\xd
61 ······················I2Ohash·clearData().·It·allocates·storage·for·nlist·lists·and·if·nobj·is·positive,·it·loads·the\xd61 ······················I2Ohash·clearData().·It·allocates·storage·for·nlist·lists·and·if·nobj·is·positive,·it·loads·the\xd
62 ······················free·list·with·nobj·I2OP·objects.\xd62 ······················free·list·with·nobj·I2OP·objects.\xd
63 ······················Error·checking:·If·hashtable·is·NULL,·or·if·nlist··0,·or·if·nobj·and·grow·are·both·zero,·an\xd63 ······················Error·checking:·If·hashtable·is·NULL,·or·if·nlist··0,·or·if·nobj·and·grow·are·both·zero,·an\xd
64 ······················error·message·is·printed·and·the·program·exits.\xd64 ······················error·message·is·printed·and·the·program·exits.\xd
65 ················1.2.3····Utility·methods\xd65 ················1.2.3····Utility·methods\xd
Offset 92, 15 lines modifiedOffset 92, 15 lines modified
92 ······················the·triples·are·evenly·distributed·among·nlist/k·lists,·the·value·is·√k.\xd92 ······················the·triples·are·evenly·distributed·among·nlist/k·lists,·the·value·is·√k.\xd
93 ······················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd93 ······················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
94 ················1.2.4····IO·methods\xd94 ················1.2.4····IO·methods\xd
95 ···················1.·void·I2Ohash_writeForHumanEye·(·I2Ohash·*hashtable,·FILE·*fp·)·;\xd95 ···················1.·void·I2Ohash_writeForHumanEye·(·I2Ohash·*hashtable,·FILE·*fp·)·;\xd
96 ······················This·method·prints·the·hash·table·in·a·human-readable·format.\xd96 ······················This·method·prints·the·hash·table·in·a·human-readable·format.\xd
97 ······················Error·checking:·If·hashtable·or·fp·is·NULL,·an·error·message·is·printed·and·the·program\xd97 ······················Error·checking:·If·hashtable·or·fp·is·NULL,·an·error·message·is·printed·and·the·program\xd
98 ······················exits.\xd98 ······················exits.\xd
99 ···········4······················I2Ohash·:·DRAFT·January·15,·2021\xd99 ···········4·····················I2Ohash·:·DRAFT·February·18,·2022\xd
100 ···········1.3··Driver·programs·for·the·I2Ohash·object\xd100 ···········1.3··Driver·programs·for·the·I2Ohash·object\xd
101 ·············1.·test_hash·msglvl·msgFile·size·grow·maxkey·nent·seed\xd101 ·············1.·test_hash·msglvl·msgFile·size·grow·maxkey·nent·seed\xd
102 ···············This·driver·program·tests·the·I2Ohash·insert·method.·It·inserts·a·number·of·triples·into·a\xd102 ···············This·driver·program·tests·the·I2Ohash·insert·method.·It·inserts·a·number·of·triples·into·a\xd
103 ···············hash·table·and·prints·out·the·“measure”·of·how·well·distributed·the·entries·are·in·the·hash\xd103 ···············hash·table·and·prints·out·the·“measure”·of·how·well·distributed·the·entries·are·in·the·hash\xd
104 ···············table.\xd104 ···············table.\xd
105 ··················The·msglvl·parameter·determines·the·amount·of·output.·Use·msglvl·=·1·for·just\xd105 ··················The·msglvl·parameter·determines·the·amount·of·output.·Use·msglvl·=·1·for·just\xd
106 ···················timing·output.\xd106 ···················timing·output.\xd
18.9 KB
./usr/share/doc/spooles-doc/IIheap.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2029261 gzip·compressed·data,·max·compression,·from·Unix,·original·size·203084
18.6 KB
IIheap.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMR8·CMSY108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMR8·CMSY10
9 %%+·CMSL109 %%+·CMSL10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·IIheap.ps13 %DVIPSCommandLine:·dvips·main·-o·IIheap.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 576, 19 lines modifiedOffset 576, 20 lines modified
576 end·readonly·def576 end·readonly·def
577 /Encoding·256·array577 /Encoding·256·array
578 0·1·255·{1·index·exch·/.notdef·put}·for578 0·1·255·{1·index·exch·/.notdef·put}·for
579 dup·44·/comma·put579 dup·44·/comma·put
580 dup·48·/zero·put580 dup·48·/zero·put
581 dup·49·/one·put581 dup·49·/one·put
582 dup·50·/two·put582 dup·50·/two·put
583 dup·53·/five·put583 dup·56·/eight·put
584 dup·58·/colon·put584 dup·58·/colon·put
585 dup·74·/J·put585 dup·70·/F·put
586 dup·97·/a·put586 dup·97·/a·put
 587 dup·98·/b·put
587 dup·110·/n·put588 dup·101·/e·put
588 dup·114·/r·put589 dup·114·/r·put
589 dup·117·/u·put590 dup·117·/u·put
590 dup·121·/y·put591 dup·121·/y·put
591 readonly·def592 readonly·def
592 currentdict·end593 currentdict·end
593 currentfile·eexec594 currentfile·eexec
594 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7595 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 772, 84 lines modifiedOffset 773, 86 lines modified
772 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A773 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
773 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082774 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
774 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E775 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
775 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5776 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
776 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05777 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
777 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05778 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
778 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767779 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
779 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704780 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
780 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
781 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
782 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
783 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
784 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
785 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
786 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
787 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
788 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
789 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
790 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
791 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
792 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
793 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
794 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
795 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
796 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
797 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
798 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
799 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
800 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
801 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
802 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
803 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
804 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
805 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
806 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
807 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
808 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
809 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
810 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
811 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
812 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
813 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
814 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
815 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
816 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
817 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
818 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
819 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
820 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
821 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
822 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
823 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
824 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
825 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
826 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
827 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
828 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
829 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
830 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
831 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
832 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
833 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
834 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
835 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
836 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
837 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
838 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
839 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
840 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
841 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
842 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
843 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
844 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
845 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
846 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
847 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
848 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5781 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 782 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 783 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 784 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 785 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 786 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 787 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 788 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 789 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 790 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 791 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 792 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 793 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 794 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 5511/16642 bytes (33.12%) of diff not shown.
2.36 KB
ps2ascii {}
    
Offset 17, 15 lines modifiedOffset 17, 15 lines modified
17 ···············location·loc\xd17 ···············location·loc\xd
18 ···········A·correctly·initialized·and·nontrivial·IIheap·object·will·have·maxsize·>·0·and·0·<=·size·<\xd18 ···········A·correctly·initialized·and·nontrivial·IIheap·object·will·have·maxsize·>·0·and·0·<=·size·<\xd
19 ···········maxsize.\xd19 ···········maxsize.\xd
20 ···········1.2··Prototypes·and·descriptions·of·IIheap·methods\xd20 ···········1.2··Prototypes·and·descriptions·of·IIheap·methods\xd
21 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd21 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
22 ···········IIheap·object.\xd22 ···········IIheap·object.\xd
23 ·············································1\xd23 ·············································1\xd
24 ···············2······························IIheap·:·DRAFT·January·15,·2021\xd24 ···············2······························IIheap·:·DRAFT·February·18,·2022\xd
25 ···············1.2.1···Basic·methods\xd25 ···············1.2.1···Basic·methods\xd
26 ···············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd26 ···············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
27 ···············any·allocated·data,·and·free’ing·the·object.\xd27 ···············any·allocated·data,·and·free’ing·the·object.\xd
28 ··················1.·IIheap·*·IIheap_new·(·void·)·;\xd28 ··················1.·IIheap·*·IIheap_new·(·void·)·;\xd
29 ····················This·method·simply·allocates·storage·for·the·IIheap·structure·and·then·sets·the·default·fields\xd29 ····················This·method·simply·allocates·storage·for·the·IIheap·structure·and·then·sets·the·default·fields\xd
30 ····················by·a·call·to·IIheap·setDefaultFields().\xd30 ····················by·a·call·to·IIheap·setDefaultFields().\xd
31 ··················2.·void·IIheap_setDefaultFields·(·IIheap·*heap·)·;\xd31 ··················2.·void·IIheap_setDefaultFields·(·IIheap·*heap·)·;\xd
Offset 49, 15 lines modifiedOffset 49, 15 lines modified
49 ····················IVinit().·The·entries·in·the·three·vectors·are·set·to·-1.\xd49 ····················IVinit().·The·entries·in·the·three·vectors·are·set·to·-1.\xd
50 ····················Error·checking:·If·heap·is·NULL,·or·if·maxsize··0,·an·error·message·is·printed·and·the\xd50 ····················Error·checking:·If·heap·is·NULL,·or·if·maxsize··0,·an·error·message·is·printed·and·the\xd
51 ····················program·exits.\xd51 ····················program·exits.\xd
52 ···············1.2.3···Utility·methods\xd52 ···············1.2.3···Utility·methods\xd
53 ··················1.·int·IIheap_sizeOf·(·IIheap·*heap·)·;\xd53 ··················1.·int·IIheap_sizeOf·(·IIheap·*heap·)·;\xd
54 ····················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd54 ····················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd
55 ····················Error·checking:·If·heap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd55 ····················Error·checking:·If·heap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
56 ·····································IIheap·:·DRAFT···January·15,·2021···················3\xd56 ·····································IIheap·:·DRAFT··February·18,·2022···················3\xd
57 ···············2.·void·IIheap_root·(·IIheap·*heap,·int·*pkey,·int·*pvalue·)·;\xd57 ···············2.·void·IIheap_root·(·IIheap·*heap,·int·*pkey,·int·*pvalue·)·;\xd
58 ·················This·method·fills·*pid·and·*pkey·with·the·key·and·value,·respectively,·of·the·root·element,\xd58 ·················This·method·fills·*pid·and·*pkey·with·the·key·and·value,·respectively,·of·the·root·element,\xd
59 ·················an·element·with·minimum·value.·If·size·==·0·then·-1·is·returned.\xd59 ·················an·element·with·minimum·value.·If·size·==·0·then·-1·is·returned.\xd
60 ·················Error·checking:·If·heap,·pkey·or·pvalue·is·NULL,·an·error·message·is·printed·and·the·program\xd60 ·················Error·checking:·If·heap,·pkey·or·pvalue·is·NULL,·an·error·message·is·printed·and·the·program\xd
61 ·················exits.\xd61 ·················exits.\xd
62 ···············3.·void·IIheap_insert·(·IIheap·*heap,·int·key,·int·value·)·;\xd62 ···············3.·void·IIheap_insert·(·IIheap·*heap,·int·key,·int·value·)·;\xd
63 ·················This·method·inserts·the·pair·(key,value)·into·the·heap.\xd63 ·················This·method·inserts·the·pair·(key,value)·into·the·heap.\xd
37.5 KB
./usr/share/doc/spooles-doc/IV.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2381301 gzip·compressed·data,·max·compression,·from·Unix,·original·size·238328
37.2 KB
IV.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·596·8427 %%BoundingBox:·0·0·596·842
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMBX10·CMSY10·CMSL10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMBX10·CMSY10·CMSL10·CMTI10
9 %%DocumentPaperSizes:·a49 %%DocumentPaperSizes:·a4
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·IV.ps12 %DVIPSCommandLine:·dvips·main·-o·IV.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1150, 19 lines modifiedOffset 1150, 20 lines modified
1150 end·readonly·def1150 end·readonly·def
1151 /Encoding·256·array1151 /Encoding·256·array
1152 0·1·255·{1·index·exch·/.notdef·put}·for1152 0·1·255·{1·index·exch·/.notdef·put}·for
1153 dup·44·/comma·put1153 dup·44·/comma·put
1154 dup·48·/zero·put1154 dup·48·/zero·put
1155 dup·49·/one·put1155 dup·49·/one·put
1156 dup·50·/two·put1156 dup·50·/two·put
1157 dup·53·/five·put1157 dup·56·/eight·put
1158 dup·58·/colon·put1158 dup·58·/colon·put
1159 dup·74·/J·put1159 dup·70·/F·put
1160 dup·97·/a·put1160 dup·97·/a·put
 1161 dup·98·/b·put
1161 dup·110·/n·put1162 dup·101·/e·put
1162 dup·114·/r·put1163 dup·114·/r·put
1163 dup·117·/u·put1164 dup·117·/u·put
1164 dup·121·/y·put1165 dup·121·/y·put
1165 readonly·def1166 readonly·def
1166 currentdict·end1167 currentdict·end
1167 currentfile·eexec1168 currentfile·eexec
1168 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71169 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1346, 84 lines modifiedOffset 1347, 86 lines modified
1346 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1347 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1347 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821348 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1348 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1349 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1349 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51350 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1350 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051351 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1351 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051352 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1352 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671353 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1353 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041354 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1354 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1355 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1356 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1357 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1358 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1359 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1360 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1361 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1362 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1363 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1364 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1365 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1366 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1367 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1368 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1369 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1370 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1371 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1372 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1373 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1374 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1375 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1376 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1377 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1378 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1379 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1380 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1381 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1382 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1383 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1384 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1385 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1386 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1387 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1388 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1389 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1390 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1391 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1392 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1393 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1394 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1395 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1396 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1397 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1398 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1399 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1400 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1401 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1402 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1403 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1404 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1405 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1406 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1407 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1408 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1409 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1410 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1411 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1412 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1413 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1414 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1415 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1416 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1417 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1418 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1419 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1420 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1421 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1422 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51355 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1356 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1357 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1358 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1359 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1360 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1361 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1362 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1363 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1364 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1365 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1366 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1367 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1368 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 16048/27197 bytes (59.01%) of diff not shown.
10.6 KB
ps2ascii {}
    
Offset 24, 15 lines modifiedOffset 24, 15 lines modified
24 ····················IV·setMaxsize()·methods)·than·it·is·to·duplicate·code·to·work·on·an·int·vector.\xd24 ····················IV·setMaxsize()·methods)·than·it·is·to·duplicate·code·to·work·on·an·int·vector.\xd
25 ···············Onemustchoose·where·to·use·this·object.·There·is·a·substantial·performance·penalty·for·doing·the\xd25 ···············Onemustchoose·where·to·use·this·object.·There·is·a·substantial·performance·penalty·for·doing·the\xd
26 ···············simplest·operations,·and·so·when·we·need·to·manipulate·an·int·vector·inside·a·loop,·we·extract\xd26 ···············simplest·operations,·and·so·when·we·need·to·manipulate·an·int·vector·inside·a·loop,·we·extract\xd
27 ···············out·the·size·and·pointer·to·the·base·array·from·the·IV·object.·On·the·other·hand,·the·convenience\xd27 ···············out·the·size·and·pointer·to·the·base·array·from·the·IV·object.·On·the·other·hand,·the·convenience\xd
28 ···············makes·it·a·widely·used·object.·Originally·its·use·was·restricted·to·reading·and·writing·*.iv{f,b}\xd28 ···············makes·it·a·widely·used·object.·Originally·its·use·was·restricted·to·reading·and·writing·*.iv{f,b}\xd
29 ···············files,·but·now·IV·objects·appear·much·more·frequently·in·new·development.\xd29 ···············files,·but·now·IV·objects·appear·much·more·frequently·in·new·development.\xd
30 ·····························································1\xd30 ·····························································1\xd
31 ··············2·····························IV·:·DRAFT·January·15,·2021\xd31 ··············2·····························IV·:·DRAFT·February·18,·2022\xd
32 ··············1.1···Data·Structure\xd32 ··············1.1···Data·Structure\xd
33 ··············The·IV·structure·has·four·fields.\xd33 ··············The·IV·structure·has·four·fields.\xd
34 ··················int·size·:·present·size·of·the·vector.\xd34 ··················int·size·:·present·size·of·the·vector.\xd
35 ··················int·maxsize·:·maximum·size·of·the·vector.\xd35 ··················int·maxsize·:·maximum·size·of·the·vector.\xd
36 ··················int·owned·:·owner·flag·for·the·data.·When·owned·=·1,·storage·for·maxsize·int’s·has·been\xd36 ··················int·owned·:·owner·flag·for·the·data.·When·owned·=·1,·storage·for·maxsize·int’s·has·been\xd
37 ···················allocated·by·this·object·and·can·be·free’d·by·the·object.·When·nowned·=·0·but·maxsize·>\xd37 ···················allocated·by·this·object·and·can·be·free’d·by·the·object.·When·nowned·=·0·but·maxsize·>\xd
38 ···················0,·this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not\xd38 ···················0,·this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not\xd
Offset 58, 15 lines modifiedOffset 58, 15 lines modified
58 ···················the·storage·for·vec·is·free’d·by·a·call·to·IVfree().·The·structure’s·default·fields·are·then·set\xd58 ···················the·storage·for·vec·is·free’d·by·a·call·to·IVfree().·The·structure’s·default·fields·are·then·set\xd
59 ···················with·a·call·to·IV·setDefaultFields().\xd59 ···················with·a·call·to·IV·setDefaultFields().\xd
60 ···················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd60 ···················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
61 ················4.·void·IV_free·(·IV·*iv·)·;\xd61 ················4.·void·IV_free·(·IV·*iv·)·;\xd
62 ···················This·method·releases·any·storage·by·a·call·to·IV·clearData()·then·free’s·the·storage·for·the\xd62 ···················This·method·releases·any·storage·by·a·call·to·IV·clearData()·then·free’s·the·storage·for·the\xd
63 ···················structure·with·a·call·to·free().\xd63 ···················structure·with·a·call·to·free().\xd
64 ···················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd64 ···················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
65 ·······································IV·:·DRAFT···January·15,·2021·····················3\xd65 ·······································IV·:·DRAFT··February·18,·2022·····················3\xd
66 ············1.2.2··Instance·methods\xd66 ············1.2.2··Instance·methods\xd
67 ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd67 ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd
68 ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd68 ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd
69 ············the·methods.\xd69 ············the·methods.\xd
70 ···············1.·int·IV_owned·(·IV·*iv·)·;\xd70 ···············1.·int·IV_owned·(·IV·*iv·)·;\xd
71 ·················This·method·returns·the·value·of·owned.·If·owned·=·1,·then·the·object·owns·the·data·pointed\xd71 ·················This·method·returns·the·value·of·owned.·If·owned·=·1,·then·the·object·owns·the·data·pointed\xd
72 ·················to·by·vec·and·will·free·this·data·with·a·call·to·IVfree()·when·its·data·is·cleared·by·a·call·to\xd72 ·················to·by·vec·and·will·free·this·data·with·a·call·to·IVfree()·when·its·data·is·cleared·by·a·call·to\xd
Offset 91, 15 lines modifiedOffset 91, 15 lines modified
91 ·················the·vector.\xd91 ·················the·vector.\xd
92 ·················Error·checking:·If·iv,·psize·or·pentries·is·NULL·an·error·message·is·printed·and·the·program\xd92 ·················Error·checking:·If·iv,·psize·or·pentries·is·NULL·an·error·message·is·printed·and·the·program\xd
93 ·················exits.\xd93 ·················exits.\xd
94 ···············7.·void·IV_setEntry·(·IV·*iv,·int·loc,·int·value·)·;\xd94 ···············7.·void·IV_setEntry·(·IV·*iv,·int·loc,·int·value·)·;\xd
95 ·················This·method·sets·the·loc’th·entry·of·the·vector·to·value.\xd95 ·················This·method·sets·the·loc’th·entry·of·the·vector·to·value.\xd
96 ·················Error·checking:·If·iv,·loc·<·0·or·loc·>=·size,·or·if·vec·is·NULL·an·error·message·is·printed\xd96 ·················Error·checking:·If·iv,·loc·<·0·or·loc·>=·size,·or·if·vec·is·NULL·an·error·message·is·printed\xd
97 ·················and·the·program·exits.\xd97 ·················and·the·program·exits.\xd
98 ··············4·····························IV·:·DRAFT·January·15,·2021\xd98 ··············4·····························IV·:·DRAFT·February·18,·2022\xd
99 ··············1.2.3··Initializer·methods\xd99 ··············1.2.3··Initializer·methods\xd
100 ················1.·void·IV_init·(·IV·*iv,·int·size,·int·*entries·)·;\xd100 ················1.·void·IV_init·(·IV·*iv,·int·size,·int·*entries·)·;\xd
101 ···················This·method·initializes·the·object·given·a·size·for·the·vector·and·a·possible·pointer·to·the\xd101 ···················This·method·initializes·the·object·given·a·size·for·the·vector·and·a·possible·pointer·to·the\xd
102 ···················vectors·storage.·Any·previous·data·with·a·call·to·IV·clearData().·If·entries·!=·NULL·then\xd102 ···················vectors·storage.·Any·previous·data·with·a·call·to·IV·clearData().·If·entries·!=·NULL·then\xd
103 ···················the·vec·field·is·set·to·entries,·the·size·and·maxsize·fields·are·set·to·size·,·and·owned·is\xd103 ···················the·vec·field·is·set·to·entries,·the·size·and·maxsize·fields·are·set·to·size·,·and·owned·is\xd
104 ···················set·to·zero·because·the·object·does·not·own·the·entries.·If·entries·is·NULL·and·if·size·>·0\xd104 ···················set·to·zero·because·the·object·does·not·own·the·entries.·If·entries·is·NULL·and·if·size·>·0\xd
105 ···················then·a·vector·is·allocated·by·the·object,·and·the·object·owns·this·storage.\xd105 ···················then·a·vector·is·allocated·by·the·object,·and·the·object·owns·this·storage.\xd
Offset 128, 15 lines modifiedOffset 128, 15 lines modified
128 ···················Error·checking:·If·iv·is·NULL·or·newsize·<·0,·or·if·0·<·maxsize·<·newsize·and·owned·==\xd128 ···················Error·checking:·If·iv·is·NULL·or·newsize·<·0,·or·if·0·<·maxsize·<·newsize·and·owned·==\xd
129 ···················0,·an·error·message·is·printed·and·the·program·exits.\xd129 ···················0,·an·error·message·is·printed·and·the·program·exits.\xd
130 ··············1.2.4··Utility·methods\xd130 ··············1.2.4··Utility·methods\xd
131 ················1.·void·IV_shiftBase·(·IV·*iv,·int·offset·)·;\xd131 ················1.·void·IV_shiftBase·(·IV·*iv,·int·offset·)·;\xd
132 ···················This·method·shifts·the·base·entries·of·the·vector·and·decrements·the·present·size·and·max-\xd132 ···················This·method·shifts·the·base·entries·of·the·vector·and·decrements·the·present·size·and·max-\xd
133 ···················imum·size·of·the·vector·by·offset.·This·is·a·dangerous·method·to·use·because·the·state·of\xd133 ···················imum·size·of·the·vector·by·offset.·This·is·a·dangerous·method·to·use·because·the·state·of\xd
134 ···················the·vector·is·lost,·namely·vec,·the·base·of·the·entries,·is·corrupted.·If·the·object·owns·its\xd134 ···················the·vector·is·lost,·namely·vec,·the·base·of·the·entries,·is·corrupted.·If·the·object·owns·its\xd
135 ·······································IV·:·DRAFT···January·15,·2021·····················5\xd135 ·······································IV·:·DRAFT··February·18,·2022·····················5\xd
136 ·················entries·and·IV·free(),·IV·setSize()·or·IV·setMaxsize()·is·called·before·the·base·has·been\xd136 ·················entries·and·IV·free(),·IV·setSize()·or·IV·setMaxsize()·is·called·before·the·base·has·been\xd
137 ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd137 ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd
138 ·················useful·method,·but·use·with·caution.\xd138 ·················useful·method,·but·use·with·caution.\xd
139 ·················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd139 ·················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
140 ···············2.·void·IV_push·(·IV·*iv,·int·val·)·;\xd140 ···············2.·void·IV_push·(·IV·*iv,·int·val·)·;\xd
141 ·················This·method·pushes·an·entry·onto·the·vector.·If·the·vector·is·full,·i.e.,·if·size·=·maxsize\xd141 ·················This·method·pushes·an·entry·onto·the·vector.·If·the·vector·is·full,·i.e.,·if·size·=·maxsize\xd
142 ·················-·1,·then·the·size·of·the·vector·is·doubled·if·possible.·If·the·storage·cannot·grow,·i.e.,·if·the\xd142 ·················-·1,·then·the·size·of·the·vector·is·doubled·if·possible.·If·the·storage·cannot·grow,·i.e.,·if·the\xd
Offset 164, 15 lines modifiedOffset 164, 15 lines modified
164 ·················the·program·exits.\xd164 ·················the·program·exits.\xd
165 ···············7.·int·IV_sizeOf·(·IV·*iv·)·;\xd165 ···············7.·int·IV_sizeOf·(·IV·*iv·)·;\xd
166 ·················This·method·returns·the·number·of·bytes·taken·by·the·object.\xd166 ·················This·method·returns·the·number·of·bytes·taken·by·the·object.\xd
167 ·················Error·checking:·If·iv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd167 ·················Error·checking:·If·iv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
168 ···············8.·void·IV_filterKeep·(·IV·*iv,·int·tags[],·int·keepTag·)·;\xd168 ···············8.·void·IV_filterKeep·(·IV·*iv,·int·tags[],·int·keepTag·)·;\xd
169 ·················This·method·examines·the·entries·in·the·vector.·Let·k·be·entry·i·in·the·vector.·If·tags[k]·!=\xd169 ·················This·method·examines·the·entries·in·the·vector.·Let·k·be·entry·i·in·the·vector.·If·tags[k]·!=\xd
170 ·················keepTag,·the·entry·is·moved·to·the·end·of·the·vector,·otherwise·it·is·moved·to·the·beginning\xd170 ·················keepTag,·the·entry·is·moved·to·the·end·of·the·vector,·otherwise·it·is·moved·to·the·beginning\xd
171 ·······6···············IV·:·DRAFT·January·15,·2021\xd171 ·······6···············IV·:·DRAFT·February·18,·2022\xd
172 ··········of·the·vector.·The·size·of·the·vector·is·reset·to·be·the·number·of·tagged·entries·that·are·now\xd172 ··········of·the·vector.·The·size·of·the·vector·is·reset·to·be·the·number·of·tagged·entries·that·are·now\xd
173 ··········in·the·leading·locations.\xd173 ··········in·the·leading·locations.\xd
174 ··········Error·checking:·If·iv·of·tags·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd174 ··········Error·checking:·If·iv·of·tags·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
175 ········9.·void·IV_filterPurge·(·IV·*iv,·int·tags[],·int·purgeTag·)·;\xd175 ········9.·void·IV_filterPurge·(·IV·*iv,·int·tags[],·int·purgeTag·)·;\xd
176 ··········This·method·examines·the·entries·in·the·vector.·Let·k·be·entry·i·in·the·vector.·If·tags[k]·==\xd176 ··········This·method·examines·the·entries·in·the·vector.·Let·k·be·entry·i·in·the·vector.·If·tags[k]·==\xd
177 ··········purgeTag,·the·entry·is·moved·to·the·end·of·the·vector,·otherwise·it·is·moved·to·the·beginning\xd177 ··········purgeTag,·the·entry·is·moved·to·the·end·of·the·vector,·otherwise·it·is·moved·to·the·beginning\xd
178 ··········of·the·vector.·The·size·of·the·vector·is·reset·to·be·the·number·of·untagged·entries·that·are\xd178 ··········of·the·vector.·The·size·of·the·vector·is·reset·to·be·the·number·of·untagged·entries·that·are\xd
Offset 201, 15 lines modifiedOffset 201, 15 lines modified
201 ··········Error·checking:·If·iv·is·NULL·or·if·loc·is·out·of·range,·an·error·message·is·printed·and·the\xd201 ··········Error·checking:·If·iv·is·NULL·or·if·loc·is·out·of·range,·an·error·message·is·printed·and·the\xd
202 ··········program·exits.\xd202 ··········program·exits.\xd
203 ········14.·int·IV_decrement·(·IV·*iv,·int·loc·)·;\xd203 ········14.·int·IV_decrement·(·IV·*iv,·int·loc·)·;\xd
204 ··········This·method·decrements·the·loc’th·location·of·the·iv·object·by·one·and·returns·the·new\xd204 ··········This·method·decrements·the·loc’th·location·of·the·iv·object·by·one·and·returns·the·new\xd
205 ··········value.\xd205 ··········value.\xd
206 ··········Error·checking:·If·iv·is·NULL·or·if·loc·is·out·of·range,·an·error·message·is·printed·and·the\xd206 ··········Error·checking:·If·iv·is·NULL·or·if·loc·is·out·of·range,·an·error·message·is·printed·and·the\xd
207 ··········program·exits.\xd207 ··········program·exits.\xd
208 ·······································IV·:·DRAFT···January·15,·2021·····················7\xd208 ·······································IV·:·DRAFT··February·18,·2022·····················7\xd
209 ··············15.·int·IV_findValue·(·IV·*iv,·int·value·)·;\xd209 ··············15.·int·IV_findValue·(·IV·*iv,·int·value·)·;\xd
210 ·················This·method·looks·for·value·in·its·entries.·If·value·is·present,·the·first·location·is·returned,\xd210 ·················This·method·looks·for·value·in·its·entries.·If·value·is·present,·the·first·location·is·returned,\xd
211 ·················otherwise·-1·is·returned.·The·cost·is·linear·in·the·number·of·entries.\xd211 ·················otherwise·-1·is·returned.·The·cost·is·linear·in·the·number·of·entries.\xd
212 ·················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd212 ·················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
213 ··············16.·int·IV_findValueAscending·(·IV·*iv,·int·value·)·;\xd213 ··············16.·int·IV_findValueAscending·(·IV·*iv,·int·value·)·;\xd
214 ·················Thismethodlooksforvalueinitsentries.·Ifvalueispresent,·alocation·isreturned,·otherwise\xd214 ·················Thismethodlooksforvalueinitsentries.·Ifvalueispresent,·alocation·isreturned,·otherwise\xd
215 ·················-1·is·returned.·This·method·assumes·that·the·entries·are·sorted·in·ascending·order.·The·cost\xd215 ·················-1·is·returned.·This·method·assumes·that·the·entries·are·sorted·in·ascending·order.·The·cost\xd
Offset 238, 15 lines modifiedOffset 238, 15 lines modified
238 ············is·size,·followed·by·the·size·entries·found·in·vec[].\xd238 ············is·size,·followed·by·the·size·entries·found·in·vec[].\xd
239 ···············1.·int·IV_readFromFile·(·IV·*iv,·char·*fn·)·;\xd239 ···············1.·int·IV_readFromFile·(·IV·*iv,·char·*fn·)·;\xd
240 ·················This·method·reads·an·IV·object·from·a·formatted·file.·It·tries·to·open·the·file·and·if·it·is\xd240 ·················This·method·reads·an·IV·object·from·a·formatted·file.·It·tries·to·open·the·file·and·if·it·is\xd
241 ·················successful,·it·then·calls·IV·readFromFormattedFile()·or·IV·readFromBinaryFile(),·closes\xd241 ·················successful,·it·then·calls·IV·readFromFormattedFile()·or·IV·readFromBinaryFile(),·closes\xd
242 ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd242 ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd
243 ·················Error·checking:·If·iv·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.ivf·(for·a·formatted·file)\xd243 ·················Error·checking:·If·iv·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.ivf·(for·a·formatted·file)\xd
244 ·················or·*.ivb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd244 ·················or·*.ivb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd
245 ·······8···············IV·:·DRAFT·January·15,·2021\xd245 ·······8···············IV·:·DRAFT·February·18,·2022\xd
246 ········2.·int·IV_readFromFormattedFile·(·IV·*iv,·FILE·*fp·)·;\xd246 ········2.·int·IV_readFromFormattedFile·(·IV·*iv,·FILE·*fp·)·;\xd
247 ··········This·method·reads·in·an·IV·object·from·a·formatted·file.·If·there·are·no·errors·in·reading·the\xd247 ··········This·method·reads·in·an·IV·object·from·a·formatted·file.·If·there·are·no·errors·in·reading·the\xd
248 ··········data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd248 ··········data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd
249 ··········Error·checking:·If·iv·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd249 ··········Error·checking:·If·iv·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
250 ········3.·int·IV_readFromBinaryFile·(·IV·*iv,·FILE·*fp·)·;\xd250 ········3.·int·IV_readFromBinaryFile·(·IV·*iv,·FILE·*fp·)·;\xd
251 ··········This·method·reads·in·an·IV·object·from·a·binary·file.·If·there·are·no·errors·in·reading·the\xd251 ··········This·method·reads·in·an·IV·object·from·a·binary·file.·If·there·are·no·errors·in·reading·the\xd
252 ··········data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd252 ··········data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd
Offset 274, 15 lines modifiedOffset 274, 15 lines modified
274 ··········This·method·writes·the·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd274 ··········This·method·writes·the·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd
275 ··········Error·checking:·If·iv·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd275 ··········Error·checking:·If·iv·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
276 ········9.·int·IV_fp80·(·IV·*iv,·FILE·*fp,·int·column,·int·*pierr·)·;\xd276 ········9.·int·IV_fp80·(·IV·*iv,·FILE·*fp,·int·column,·int·*pierr·)·;\xd
277 ··········This·method·is·just·a·wrapper·around·the·IVfp80()·method·for·an·int·method.·The·entries\xd277 ··········This·method·is·just·a·wrapper·around·the·IVfp80()·method·for·an·int·method.·The·entries\xd
278 ··········in·the·vector·are·found·on·lines·with·eighty·columns·and·are·separated·by·a·whitespace.·The\xd278 ··········in·the·vector·are·found·on·lines·with·eighty·columns·and·are·separated·by·a·whitespace.·The\xd
279 ··········value·1·is·returned.\xd279 ··········value·1·is·returned.\xd
280 ··········Error·checking:·If·iv·or·fp·or·pierr·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd280 ··········Error·checking:·If·iv·or·fp·or·pierr·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
281 ·······································IV·:·DRAFT···January·15,·2021·····················9\xd281 ·······································IV·:·DRAFT··February·18,·2022·····················9\xd
282 ··············10.·int·IV_writeForMatlab·(·IV·*iv,·char·*name,·FILE·*fp·)·;\xd282 ··············10.·int·IV_writeForMatlab·(·IV·*iv,·char·*name,·FILE·*fp·)·;\xd
283 ·················This·method·writes·the·entries·of·the·vector·to·a·file·suitable·to·be·read·by·Matlab.·The\xd283 ·················This·method·writes·the·entries·of·the·vector·to·a·file·suitable·to·be·read·by·Matlab.·The\xd
284 ·················character·string·name·is·the·name·of·the·vector,·e.g,·if·name·=·"A",·then·we·have·lines·of·the\xd284 ·················character·string·name·is·the·name·of·the·vector,·e.g,·if·name·=·"A",·then·we·have·lines·of·the\xd
285 ·················form\xd285 ·················form\xd
286 ·················A(1)·=·32·;\xd286 ·················A(1)·=·32·;\xd
287 ·················A(2)·=·-433·;\xd287 ·················A(2)·=·-433·;\xd
288 ·················...\xd288 ·················...\xd
Max diff block lines reached; -1/10861 bytes (-0.01%) of diff not shown.
41.4 KB
./usr/share/doc/spooles-doc/IVL.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2431001 gzip·compressed·data,·max·compression,·from·Unix,·original·size·243302
41.1 KB
IVL.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·596·8427 %%BoundingBox:·0·0·596·842
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMBX10·CMSY10·CMSL10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMBX10·CMSY10·CMSL10·CMTI10
9 %%DocumentPaperSizes:·a49 %%DocumentPaperSizes:·a4
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·IVL.ps12 %DVIPSCommandLine:·dvips·main·-o·IVL.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1145, 19 lines modifiedOffset 1145, 20 lines modified
1145 end·readonly·def1145 end·readonly·def
1146 /Encoding·256·array1146 /Encoding·256·array
1147 0·1·255·{1·index·exch·/.notdef·put}·for1147 0·1·255·{1·index·exch·/.notdef·put}·for
1148 dup·44·/comma·put1148 dup·44·/comma·put
1149 dup·48·/zero·put1149 dup·48·/zero·put
1150 dup·49·/one·put1150 dup·49·/one·put
1151 dup·50·/two·put1151 dup·50·/two·put
1152 dup·53·/five·put1152 dup·56·/eight·put
1153 dup·58·/colon·put1153 dup·58·/colon·put
1154 dup·74·/J·put1154 dup·70·/F·put
1155 dup·97·/a·put1155 dup·97·/a·put
 1156 dup·98·/b·put
1156 dup·110·/n·put1157 dup·101·/e·put
1157 dup·114·/r·put1158 dup·114·/r·put
1158 dup·117·/u·put1159 dup·117·/u·put
1159 dup·121·/y·put1160 dup·121·/y·put
1160 readonly·def1161 readonly·def
1161 currentdict·end1162 currentdict·end
1162 currentfile·eexec1163 currentfile·eexec
1163 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71164 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1341, 84 lines modifiedOffset 1342, 86 lines modified
1341 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1342 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1342 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821343 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1343 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1344 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1344 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51345 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1345 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051346 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1346 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051347 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1347 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671348 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1348 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041349 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1349 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1350 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1351 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1352 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1353 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1354 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1355 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1356 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1357 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1358 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1359 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1360 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1361 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1362 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1363 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1364 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1365 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1366 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1367 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1368 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1369 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1370 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1371 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1372 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1373 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1374 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1375 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1376 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1377 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1378 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1379 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1380 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1381 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1382 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1383 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1384 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1385 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1386 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1387 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1388 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1389 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1390 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1391 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1392 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1393 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1394 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1395 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1396 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1397 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1398 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1399 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1400 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1401 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1402 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1403 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1404 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1405 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1406 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1407 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1408 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1409 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1410 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1411 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1412 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1413 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1414 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1415 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1416 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1417 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51350 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1351 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1352 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1353 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1354 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1355 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1356 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1357 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1358 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1359 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1360 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1361 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1362 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1363 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 18873/30023 bytes (62.86%) of diff not shown.
11.8 KB
ps2ascii {}
    
Offset 22, 15 lines modifiedOffset 22, 15 lines modified
22 ···················Each·list·is·allocated·separately·using·the·IVinit()·function.·When·the·IVL·object·is\xd22 ···················Each·list·is·allocated·separately·using·the·IVinit()·function.·When·the·IVL·object·is\xd
23 ···················free’d,·each·list·is·free’d·separately·using·the·IVfree()·function.\xd23 ···················free’d,·each·list·is·free’d·separately·using·the·IVfree()·function.\xd
24 ··················IVL·UNKNOWN\xd24 ··················IVL·UNKNOWN\xd
25 ···················This·storage·mode·is·available·for·the·cases·where·storage·for·a·list·is·aliased·to·another\xd25 ···················This·storage·mode·is·available·for·the·cases·where·storage·for·a·list·is·aliased·to·another\xd
26 ···················location.·Absolutely·no·free’ing·of·data·is·done·when·the·IVL·object·is·free’d.\xd26 ···················location.·Absolutely·no·free’ing·of·data·is·done·when·the·IVL·object·is·free’d.\xd
27 ···············The·storage·management·is·handled·by·IVL·setList()·and·IVL·setPointerToList().\xd27 ···············The·storage·management·is·handled·by·IVL·setList()·and·IVL·setPointerToList().\xd
28 ·············································1\xd28 ·············································1\xd
29 ··············2·····························IVL·:·DRAFT·January·15,·2021\xd29 ··············2····························IVL·:·DRAFT·February·18,·2022\xd
30 ··················int·maxnlist·:·maximum·number·of·lists.\xd30 ··················int·maxnlist·:·maximum·number·of·lists.\xd
31 ···················int·nlist·:·number·of·lists.\xd31 ···················int·nlist·:·number·of·lists.\xd
32 ···················We·may·not·know·how·many·lists·we·will·need·for·the·object··maxnlist·is·the·dimension\xd32 ···················We·may·not·know·how·many·lists·we·will·need·for·the·object··maxnlist·is·the·dimension\xd
33 ···················of·the·sizes[]·and·p·vec[]·arrays·and·nlist·is·the·present·number·of·active·lists.·When\xd33 ···················of·the·sizes[]·and·p·vec[]·arrays·and·nlist·is·the·present·number·of·active·lists.·When\xd
34 ···················we·initialize·the·object·using·one·of·the·IVL·init{1,2,3}()·methods,·we·set·nlist·equal·to\xd34 ···················we·initialize·the·object·using·one·of·the·IVL·init{1,2,3}()·methods,·we·set·nlist·equal·to\xd
35 ···················maxnlist.·We·resize·the·object·using·IVL·setMaxnlist().\xd35 ···················maxnlist.·We·resize·the·object·using·IVL·setMaxnlist().\xd
36 ··················int·tsize·:·total·number·of·list·entries.\xd36 ··················int·tsize·:·total·number·of·list·entries.\xd
Offset 57, 15 lines modifiedOffset 57, 15 lines modified
57 ················1.·IVL·*·IVL_new·(·void·)·;\xd57 ················1.·IVL·*·IVL_new·(·void·)·;\xd
58 ···················This·method·simply·allocates·storage·for·the·IVL·structure·and·then·sets·the·default·fields·by\xd58 ···················This·method·simply·allocates·storage·for·the·IVL·structure·and·then·sets·the·default·fields·by\xd
59 ···················a·call·to·IVL·setDefaultFields().\xd59 ···················a·call·to·IVL·setDefaultFields().\xd
60 ················2.·void·IVL_setDefaultFields·(·IVL·*ivl·)·;\xd60 ················2.·void·IVL_setDefaultFields·(·IVL·*ivl·)·;\xd
61 ···················This·method·sets·the·default·fields·of·the·object··type·=·IVL·NOTYPE,·maxnlist,·nlist\xd61 ···················This·method·sets·the·default·fields·of·the·object··type·=·IVL·NOTYPE,·maxnlist,·nlist\xd
62 ···················and·tsize·are·zero,·incr·is·1024,·and·sizes,·p·vec·and·chunk·are·NULL.\xd62 ···················and·tsize·are·zero,·incr·is·1024,·and·sizes,·p·vec·and·chunk·are·NULL.\xd
63 ···················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd63 ···················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
64 ·······································IVL·:·DRAFT···January·15,·2021····················3\xd64 ·······································IVL·:·DRAFT··February·18,·2022····················3\xd
65 ···············3.·void·IVL_clearData·(·IVL·*ivl·)·;\xd65 ···············3.·void·IVL_clearData·(·IVL·*ivl·)·;\xd
66 ·················This·method·clears·any·data·allocated·by·this·object·and·then·sets·the·default·fields·with·a\xd66 ·················This·method·clears·any·data·allocated·by·this·object·and·then·sets·the·default·fields·with·a\xd
67 ·················call·to·IVL·setDefaultFields().·Any·storage·held·by·the·Ichunk·structures·is·free’d,·and\xd67 ·················call·to·IVL·setDefaultFields().·Any·storage·held·by·the·Ichunk·structures·is·free’d,·and\xd
68 ·················if·sizes·or·p·vec·are·not·NULL,·they·are·free’d.\xd68 ·················if·sizes·or·p·vec·are·not·NULL,·they·are·free’d.\xd
69 ·················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd69 ·················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
70 ···············4.·void·IVL_free·(·IVL·*ivl·)·;\xd70 ···············4.·void·IVL_free·(·IVL·*ivl·)·;\xd
71 ·················This·method·releases·any·storage·by·a·call·to·IVL·clearData()·then·free’s·the·storage·for\xd71 ·················This·method·releases·any·storage·by·a·call·to·IVL·clearData()·then·free’s·the·storage·for\xd
Offset 87, 15 lines modifiedOffset 87, 15 lines modified
87 ···············5.·int·IVL_incr·(·IVL·*ivl·)·;\xd87 ···············5.·int·IVL_incr·(·IVL·*ivl·)·;\xd
88 ·················This·method·returns·incr,·the·storage·increment.\xd88 ·················This·method·returns·incr,·the·storage·increment.\xd
89 ·················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd89 ·················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
90 ···············6.·int·IVL_setincr·(·IVL·*ivl,·int·incr·)·;\xd90 ···············6.·int·IVL_setincr·(·IVL·*ivl,·int·incr·)·;\xd
91 ·················This·method·sets·the·storage·increment·to·incr.\xd91 ·················This·method·sets·the·storage·increment·to·incr.\xd
92 ·················Error·checking:·If·ivl·is·NULL·or·incr·is·negative,·an·error·message·is·printed·and·the·program\xd92 ·················Error·checking:·If·ivl·is·NULL·or·incr·is·negative,·an·error·message·is·printed·and·the·program\xd
93 ·················exits.\xd93 ·················exits.\xd
94 ··············4·····························IVL·:·DRAFT·January·15,·2021\xd94 ··············4····························IVL·:·DRAFT·February·18,·2022\xd
95 ··············1.2.3··Initialization·and·resizing·methods\xd95 ··············1.2.3··Initialization·and·resizing·methods\xd
96 ················1.·void·IVL_init1·(·IVL·*ivl,·int·type,·int·maxnlist·)·;\xd96 ················1.·void·IVL_init1·(·IVL·*ivl,·int·type,·int·maxnlist·)·;\xd
97 ···················This·method·is·used·when·only·the·number·of·lists·is·known.·Any·previous·data·is·cleared\xd97 ···················This·method·is·used·when·only·the·number·of·lists·is·known.·Any·previous·data·is·cleared\xd
98 ···················with·a·call·to·IVL·clearData().·The·type·field·is·set.·If·maxnlist·>·0,·storage·is·allocated\xd98 ···················with·a·call·to·IVL·clearData().·The·type·field·is·set.·If·maxnlist·>·0,·storage·is·allocated\xd
99 ···················for·the·sizes[]·and·p·vec[]·arrays·and·nlist·is·set·to·maxnlist.\xd99 ···················for·the·sizes[]·and·p·vec[]·arrays·and·nlist·is·set·to·maxnlist.\xd
100 ···················Error·checking:·If·ivl·is·NULL·or·type·is·invalid·or·maxnlist·is·negative,·an·error·message·is\xd100 ···················Error·checking:·If·ivl·is·NULL·or·type·is·invalid·or·maxnlist·is·negative,·an·error·message·is\xd
101 ···················printed·and·the·program·exits.\xd101 ···················printed·and·the·program·exits.\xd
Offset 124, 15 lines modifiedOffset 124, 15 lines modified
124 ···················newmaxnlist·==·maxnlist,nothingisdone.·Otherwise,newstorageforsizes[]andp·vec[]\xd124 ···················newmaxnlist·==·maxnlist,nothingisdone.·Otherwise,newstorageforsizes[]andp·vec[]\xd
125 ···················is·allocated,·the·information·for·the·first·nlist·lists·is·copied·over,·and·the·old·storage\xd125 ···················is·allocated,·the·information·for·the·first·nlist·lists·is·copied·over,·and·the·old·storage\xd
126 ···················free’d.·Note,·maxnlist·is·set·to·newmaxnlist·and·nlist·is·set·to·the·minimum·of·nlist·and\xd126 ···················free’d.·Note,·maxnlist·is·set·to·newmaxnlist·and·nlist·is·set·to·the·minimum·of·nlist·and\xd
127 ···················newmaxnlist.\xd127 ···················newmaxnlist.\xd
128 ···················Error·checking:·If·ivl·is·NULL·or·if·newmaxnlist·is·negative,·an·error·message·is·printed·and\xd128 ···················Error·checking:·If·ivl·is·NULL·or·if·newmaxnlist·is·negative,·an·error·message·is·printed·and\xd
129 ···················the·program·exits.\xd129 ···················the·program·exits.\xd
130 ················6.·void·IVL_setNlist·(·IVL·*ivl,·int·newnlist·)·;\xd130 ················6.·void·IVL_setNlist·(·IVL·*ivl,·int·newnlist·)·;\xd
131 ·······································IVL·:·DRAFT···January·15,·2021····················5\xd131 ·······································IVL·:·DRAFT··February·18,·2022····················5\xd
132 ·················This·method·is·used·to·change·the·number·of·lists.·If·newnlist·>·maxnlist,·storage·for\xd132 ·················This·method·is·used·to·change·the·number·of·lists.·If·newnlist·>·maxnlist,·storage·for\xd
133 ·················the·lists·is·increased·via·a·call·to·the·IVL·setMaxnlist()·method.·Then·nlist·is·set·to\xd133 ·················the·lists·is·increased·via·a·call·to·the·IVL·setMaxnlist()·method.·Then·nlist·is·set·to\xd
134 ·················newnlist.\xd134 ·················newnlist.\xd
135 ·················Error·checking:·If·ivl·is·NULL,·or·if·newnlist·is·negative,·an·error·message·is·printed·and\xd135 ·················Error·checking:·If·ivl·is·NULL,·or·if·newnlist·is·negative,·an·error·message·is·printed·and\xd
136 ·················the·program·exits.\xd136 ·················the·program·exits.\xd
137 ············1.2.4··List·manipulation·methods\xd137 ············1.2.4··List·manipulation·methods\xd
138 ···············1.·void·IVL_listAndSize·(·IVL·*ivl,·int·ilist,·int·*psize,·int·**pivec)·;\xd138 ···············1.·void·IVL_listAndSize·(·IVL·*ivl,·int·ilist,·int·*psize,·int·**pivec)·;\xd
Offset 151, 15 lines modifiedOffset 151, 15 lines modified
151 ·················if·so·an·error·message·is·printed·and·the·program·exits.·In·method·IVL·firstInList(),·if\xd151 ·················if·so·an·error·message·is·printed·and·the·program·exits.·In·method·IVL·firstInList(),·if\xd
152 ·················sizes[ilist]·>·0·and·p·vec[ilist]·=·NULL,·an·error·message·is·printed·and·the·program\xd152 ·················sizes[ilist]·>·0·and·p·vec[ilist]·=·NULL,·an·error·message·is·printed·and·the·program\xd
153 ·················exits.·In·method·IVL·nextInList(),·if·pi·is·not·in·the·valid·range·for·list·ilist,·an·error\xd153 ·················exits.·In·method·IVL·nextInList(),·if·pi·is·not·in·the·valid·range·for·list·ilist,·an·error\xd
154 ·················message·is·printed·and·the·program·exits.\xd154 ·················message·is·printed·and·the·program·exits.\xd
155 ···············3.·void·IVL_setList·(·IVL·*ivl,·int·ilist,·int·isize,·int·ivec[]·)·;\xd155 ···············3.·void·IVL_setList·(·IVL·*ivl,·int·ilist,·int·isize,·int·ivec[]·)·;\xd
156 ·················This·method·sets·the·size·and·(possibly)·pointer·to·a·list·of·entries.·The·behavior·of·the\xd156 ·················This·method·sets·the·size·and·(possibly)·pointer·to·a·list·of·entries.·The·behavior·of·the\xd
157 ·················method·depends·on·the·type·of·the·ivl·object.·Here·is·the·flow·chart:\xd157 ·················method·depends·on·the·type·of·the·ivl·object.·Here·is·the·flow·chart:\xd
158 ··············6·····························IVL·:·DRAFT·January·15,·2021\xd158 ··············6····························IVL·:·DRAFT·February·18,·2022\xd
159 ····························if·ilist·>=·maxnlist·then\xd159 ····························if·ilist·>=·maxnlist·then\xd
160 ·································the·number·of·lists·is·increased·via·a·call·to·IVL·setMaxnlist()\xd160 ·································the·number·of·lists·is·increased·via·a·call·to·IVL·setMaxnlist()\xd
161 ····························endif\xd161 ····························endif\xd
162 ····························if·ilist·>=·nlist·then\xd162 ····························if·ilist·>=·nlist·then\xd
163 ·································nlist·is·increased\xd163 ·································nlist·is·increased\xd
164 ····························endif\xd164 ····························endif\xd
165 ····························if·isize·=·0·then\xd165 ····························if·isize·=·0·then\xd
Offset 189, 15 lines modifiedOffset 189, 15 lines modified
189 ···················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd189 ···················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
190 ················2.·int·IVL_min·(·IVL·*ivl·)·;\xd190 ················2.·int·IVL_min·(·IVL·*ivl·)·;\xd
191 ···················int·IVL_max·(·IVL·*ivl·)·;\xd191 ···················int·IVL_max·(·IVL·*ivl·)·;\xd
192 ···················int·IVL_maxListSize·(·IVL·*ivl·)·;\xd192 ···················int·IVL_maxListSize·(·IVL·*ivl·)·;\xd
193 ···················int·IVL_sum·(·IVL·*ivl·)·;\xd193 ···················int·IVL_sum·(·IVL·*ivl·)·;\xd
194 ···················These·methods·return·some·simple·information·about·the·object.\xd194 ···················These·methods·return·some·simple·information·about·the·object.\xd
195 ···················Error·checking:·If·ivl·is·NULL·then·an·error·message·is·printed·and·the·program·exits.\xd195 ···················Error·checking:·If·ivl·is·NULL·then·an·error·message·is·printed·and·the·program·exits.\xd
196 ·······································IVL·:·DRAFT···January·15,·2021····················7\xd196 ·······································IVL·:·DRAFT··February·18,·2022····················7\xd
197 ···············3.·int·IVL_sortUp·(·IVL·*ivl·)·;\xd197 ···············3.·int·IVL_sortUp·(·IVL·*ivl·)·;\xd
198 ·················This·method·sorts·each·list·into·ascending·order.\xd198 ·················This·method·sorts·each·list·into·ascending·order.\xd
199 ·················Error·checking:·If·ivl·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the·program\xd199 ·················Error·checking:·If·ivl·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the·program\xd
200 ·················exits.\xd200 ·················exits.\xd
201 ···············4.·int·*·IVL_equivMap1·(·IVL·*ivl·)·;\xd201 ···············4.·int·*·IVL_equivMap1·(·IVL·*ivl·)·;\xd
202 ·················IV·*·IVL_equivMap2·(·IVL·*ivl·)·;\xd202 ·················IV·*·IVL_equivMap2·(·IVL·*ivl·)·;\xd
203 ·················Two·lists·are·equivalent·if·their·contents·are·identical.·These·methods·are·used·to·find·the\xd203 ·················Two·lists·are·equivalent·if·their·contents·are·identical.·These·methods·are·used·to·find·the\xd
Offset 226, 15 lines modifiedOffset 226, 15 lines modified
226 ·················and·the·program·exits.\xd226 ·················and·the·program·exits.\xd
227 ···············8.·IVL·*·IVL_expand·(·IVL·*ivl,·IV·*eqmapIV·)·;\xd227 ···············8.·IVL·*·IVL_expand·(·IVL·*ivl,·IV·*eqmapIV·)·;\xd
228 ·················This·method·was·created·in·support·of·a·symbolic·factorization.·An·IVL·object·is·constructed\xd228 ·················This·method·was·created·in·support·of·a·symbolic·factorization.·An·IVL·object·is·constructed\xd
229 ·················using·a·compressed·graph.·it·must·be·expanded·to·reflect·the·compressed·graph.·The·number\xd229 ·················using·a·compressed·graph.·it·must·be·expanded·to·reflect·the·compressed·graph.·The·number\xd
230 ·················of·lists·does·not·change·(there·is·one·list·per·front)·but·the·size·of·each·list·may·change.·so\xd230 ·················of·lists·does·not·change·(there·is·one·list·per·front)·but·the·size·of·each·list·may·change.·so\xd
231 ·················we·create·and·return·a·new·IVL·object·that·contains·entries·for·the·uncompressed·graph.\xd231 ·················we·create·and·return·a·new·IVL·object·that·contains·entries·for·the·uncompressed·graph.\xd
232 ·················Error·checking:·If·ivl·or·eqmapIV·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd232 ·················Error·checking:·If·ivl·or·eqmapIV·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
233 ··············8·····························IVL·:·DRAFT·January·15,·2021\xd233 ··············8····························IVL·:·DRAFT·February·18,·2022\xd
234 ··············1.2.6··Miscellaneous·methods\xd234 ··············1.2.6··Miscellaneous·methods\xd
235 ················1.·IVL·*·IVL_make9P·(·int·n1,·int·n2,·int·ncomp·)·;\xd235 ················1.·IVL·*·IVL_make9P·(·int·n1,·int·n2,·int·ncomp·)·;\xd
236 ···················This·method·returns·an·IVL·object·that·contains·the·full·adjacency·structure·for·a·9-point\xd236 ···················This·method·returns·an·IVL·object·that·contains·the·full·adjacency·structure·for·a·9-point\xd
237 ···················operator·on·a·n1×n2·grid·with·ncomp·components·at·each·grid·point.\xd237 ···················operator·on·a·n1×n2·grid·with·ncomp·components·at·each·grid·point.\xd
238 ···················Error·checking:·If·n1,·n2·or·ncomp·is·less·than·or·equal·to·zero,·an·error·message·is·printed\xd238 ···················Error·checking:·If·n1,·n2·or·ncomp·is·less·than·or·equal·to·zero,·an·error·message·is·printed\xd
239 ···················and·the·program·exits.\xd239 ···················and·the·program·exits.\xd
240 ················2.·IVL·*·IVL_make13P·(·int·n1,·int·n2·)·;\xd240 ················2.·IVL·*·IVL_make13P·(·int·n1,·int·n2·)·;\xd
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ···················and·returns·the·value·returned·from·the·called·routine.\xd261 ···················and·returns·the·value·returned·from·the·called·routine.\xd
262 ···················Error·checking:·If·ivl·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.ivlf·(for·a·formatted·file)\xd262 ···················Error·checking:·If·ivl·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.ivlf·(for·a·formatted·file)\xd
263 ···················or·*.ivlb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd263 ···················or·*.ivlb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd
264 ················2.·int·IVL_readFromFormattedFile·(·IVL·*ivl,·FILE·*fp·)·;\xd264 ················2.·int·IVL_readFromFormattedFile·(·IVL·*ivl,·FILE·*fp·)·;\xd
265 ···················This·method·reads·an·IVL·object·from·a·formatted·file.·If·there·are·no·errors·in·reading·the\xd265 ···················This·method·reads·an·IVL·object·from·a·formatted·file.·If·there·are·no·errors·in·reading·the\xd
266 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd266 ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fscanf,·zero·is·returned.\xd
267 ···················Error·checking:·If·ivl·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd267 ···················Error·checking:·If·ivl·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
268 ·············································IVL·:·DRAFT·····January·15,·2021···························9\xd268 ·············································IVL·:·DRAFT·····February·18,·2022··························9\xd
269 ·················3.·int·IVL_readFromBinaryFile·(·IVL·*ivl,·FILE·*fp·)·;\xd269 ·················3.·int·IVL_readFromBinaryFile·(·IVL·*ivl,·FILE·*fp·)·;\xd
270 ····················This·method·reads·an·IVL·object·from·a·binary·file.·If·there·are·no·errors·in·reading·the·data,\xd270 ····················This·method·reads·an·IVL·object·from·a·binary·file.·If·there·are·no·errors·in·reading·the·data,\xd
271 ····················the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd271 ····················the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd
272 ····················Error·checking:·If·ivl·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd272 ····················Error·checking:·If·ivl·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
273 ·················4.·int·IVL_writeToFile·(·IVL·*ivl,·char·*fn·)·;\xd273 ·················4.·int·IVL_writeToFile·(·IVL·*ivl,·char·*fn·)·;\xd
274 ····················This·method·writes·an·IVL·object·to·a·file.·If·the·the·file·can·be·opened·successfully,·the\xd274 ····················This·method·writes·an·IVL·object·to·a·file.·If·the·the·file·can·be·opened·successfully,·the\xd
275 ····················method·calls·IVL·writeFromFormattedFile()·or·IVL·writeFromBinaryFile(),·closes·the\xd275 ····················method·calls·IVL·writeFromFormattedFile()·or·IVL·writeFromBinaryFile(),·closes·the\xd
Max diff block lines reached; 1322/12071 bytes (10.95%) of diff not shown.
24.5 KB
./usr/share/doc/spooles-doc/Ideq.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·1900531 gzip·compressed·data,·max·compression,·from·Unix,·original·size·190220
24.2 KB
Ideq.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·596·8427 %%BoundingBox:·0·0·596·842
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMSY10·CMSL10·CMMI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMSY10·CMSL10·CMMI10
9 %%DocumentPaperSizes:·a49 %%DocumentPaperSizes:·a4
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·Ideq.ps12 %DVIPSCommandLine:·dvips·main·-o·Ideq.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 797, 19 lines modifiedOffset 797, 20 lines modified
797 end·readonly·def797 end·readonly·def
798 /Encoding·256·array798 /Encoding·256·array
799 0·1·255·{1·index·exch·/.notdef·put}·for799 0·1·255·{1·index·exch·/.notdef·put}·for
800 dup·44·/comma·put800 dup·44·/comma·put
801 dup·48·/zero·put801 dup·48·/zero·put
802 dup·49·/one·put802 dup·49·/one·put
803 dup·50·/two·put803 dup·50·/two·put
804 dup·53·/five·put804 dup·56·/eight·put
805 dup·58·/colon·put805 dup·58·/colon·put
806 dup·74·/J·put806 dup·70·/F·put
807 dup·97·/a·put807 dup·97·/a·put
 808 dup·98·/b·put
808 dup·110·/n·put809 dup·101·/e·put
809 dup·114·/r·put810 dup·114·/r·put
810 dup·117·/u·put811 dup·117·/u·put
811 dup·121·/y·put812 dup·121·/y·put
812 readonly·def813 readonly·def
813 currentdict·end814 currentdict·end
814 currentfile·eexec815 currentfile·eexec
815 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7816 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 993, 84 lines modifiedOffset 994, 86 lines modified
993 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A994 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
994 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082995 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
995 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E996 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
996 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5997 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
997 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05998 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
998 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05999 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
999 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671000 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1000 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041001 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1001 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1002 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1003 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1004 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1005 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1006 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1007 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1008 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1009 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1010 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1011 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1012 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1013 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1014 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1015 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1016 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1017 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1018 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1019 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1020 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1021 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1022 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1023 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1024 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1025 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1026 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1027 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1028 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1029 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1030 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1031 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1032 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1033 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1034 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1035 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1036 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1037 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1038 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1039 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1040 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1041 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1042 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1043 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1044 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1045 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1046 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1047 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1048 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1049 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1050 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1051 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1052 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1053 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1054 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1055 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1056 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1057 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1058 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1059 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1060 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1061 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1062 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1063 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1064 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1065 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1066 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1067 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1068 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1069 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51002 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1003 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1004 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1005 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1006 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1007 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1008 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1009 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1010 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1011 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1012 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1013 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1014 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1015 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 7707/18854 bytes (40.88%) of diff not shown.
5.79 KB
ps2ascii {}
    
Offset 16, 15 lines modifiedOffset 16, 15 lines modified
16 ··············IV·iv·:·an·IV·object·to·hold·the·list·vector.\xd16 ··············IV·iv·:·an·IV·object·to·hold·the·list·vector.\xd
17 ···········A·correctly·initialized·and·nontrivial·Ideq·object·will·have·maxsize·>·0.·When·the·dequeue·is\xd17 ···········A·correctly·initialized·and·nontrivial·Ideq·object·will·have·maxsize·>·0.·When·the·dequeue·is\xd
18 ···········empty,·head·=·tail·=·-1.\xd18 ···········empty,·head·=·tail·=·-1.\xd
19 ···········1.2··Prototypes·and·descriptions·of·Ideq·methods\xd19 ···········1.2··Prototypes·and·descriptions·of·Ideq·methods\xd
20 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Ideq\xd20 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Ideq\xd
21 ···········object.\xd21 ···········object.\xd
22 ·············································1\xd22 ·············································1\xd
23 ··············2····························Ideq·:·DRAFT·January·15,·2021\xd23 ··············2····························Ideq·:·DRAFT·February·18,·2022\xd
24 ··············1.2.1··Basic·methods\xd24 ··············1.2.1··Basic·methods\xd
25 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd25 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
26 ··············any·allocated·data,·and·free’ing·the·object.\xd26 ··············any·allocated·data,·and·free’ing·the·object.\xd
27 ················1.·Ideq·*·Ideq_new·(·void·)·;\xd27 ················1.·Ideq·*·Ideq_new·(·void·)·;\xd
28 ···················This·method·simply·allocates·storage·for·the·Ideq·structure·and·then·sets·the·default·fields\xd28 ···················This·method·simply·allocates·storage·for·the·Ideq·structure·and·then·sets·the·default·fields\xd
29 ···················by·a·call·to·Ideq·setDefaultFields().\xd29 ···················by·a·call·to·Ideq·setDefaultFields().\xd
30 ················2.·void·Ideq_setDefaultFields·(·Ideq·*deq·)·;\xd30 ················2.·void·Ideq_setDefaultFields·(·Ideq·*deq·)·;\xd
Offset 47, 50 lines modifiedOffset 47, 50 lines modified
47 ···················initializer.\xd47 ···················initializer.\xd
48 ···················If·the·present·size·of·the·list·(the·number·of·entries·between·head·and·tail·inclusive)·is·larger\xd48 ···················If·the·present·size·of·the·list·(the·number·of·entries·between·head·and·tail·inclusive)·is·larger\xd
49 ···················than·newsize,·the·method·returns·-1.·Otherwise,·a·new·int·vector·is·allocated·and·filled\xd49 ···················than·newsize,·the·method·returns·-1.·Otherwise,·a·new·int·vector·is·allocated·and·filled\xd
50 ···················with·the·entries·in·the·list.·The·old·int·vector·is·free’d,·the·new·vector·is·spliced·into·the·IV\xd50 ···················with·the·entries·in·the·list.·The·old·int·vector·is·free’d,·the·new·vector·is·spliced·into·the·IV\xd
51 ···················object,·and·the·head,·tail·and·maxsize·fields·are·set.·The·method·then·returns·1.\xd51 ···················object,·and·the·head,·tail·and·maxsize·fields·are·set.·The·method·then·returns·1.\xd
52 ···················Error·checking:·If·deq·is·NULL,·or·if·newsize·<·0,·an·error·message·is·printed·and·the·program\xd52 ···················Error·checking:·If·deq·is·NULL,·or·if·newsize·<·0,·an·error·message·is·printed·and·the·program\xd
53 ···················exits.\xd53 ···················exits.\xd
54 ······································Ideq·:·DRAFT···January·15,·2021····················3\xd54 ······································Ideq·:·DRAFT··February·18,·2022···················3\xd
55 ············1.2.3··Utility·methods\xd55 ············1.2.3··Utility·methods\xd
56 ···············1.·void·Ideq_clear·(·Ideq·*deq·)·;\xd56 ··············1.·void·Ideq_clear·(·Ideq·*deq·)·;\xd
57 ·················This·method·clears·the·dequeue.·The·head·and·tail·fields·are·set·to·-1.\xd57 ·················This·method·clears·the·dequeue.·The·head·and·tail·fields·are·set·to·-1.\xd
58 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd58 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
59 ···············2.·int·Ideq_head·(·Ideq·*deq·)·;\xd59 ··············2.·int·Ideq_head·(·Ideq·*deq·)·;\xd
60 ·················This·method·returns·the·value·at·the·head·of·the·list·without·removing·that·value.·If·head\xd60 ·················This·method·returns·the·value·at·the·head·of·the·list·without·removing·that·value.·If·head\xd
61 ·················==·-1·then·-1·is·returned.·Note,·the·list·may·be·nonempty·and·the·first·value·may·be·-1,·so\xd61 ·················==·-1·then·-1·is·returned.·Note,·the·list·may·be·nonempty·and·the·first·value·may·be·-1,·so\xd
62 ·················-1·may·signal·an·empty·list·or·a·terminating·element.\xd62 ·················-1·may·signal·an·empty·list·or·a·terminating·element.\xd
63 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd63 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
64 ···············3.·int·Ideq_removeFromHead·(·Ideq·*deq·)·;\xd64 ··············3.·int·Ideq_removeFromHead·(·Ideq·*deq·)·;\xd
65 ·················This·method·returns·the·value·at·the·head·of·the·list·and·removes·that·value.·If·head·==·-1\xd65 ·················This·method·returns·the·value·at·the·head·of·the·list·and·removes·that·value.·If·head·==·-1\xd
66 ·················then·-1·is·returned.·Note,·the·list·may·be·nonempty·and·the·first·value·may·be·-1,·so·-1\xd66 ·················then·-1·is·returned.·Note,·the·list·may·be·nonempty·and·the·first·value·may·be·-1,·so·-1\xd
67 ·················may·signal·an·empty·list·or·a·terminating·element.\xd67 ·················may·signal·an·empty·list·or·a·terminating·element.\xd
68 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd68 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
69 ···············4.·int·Ideq_insertAtHead·(·Ideq·*deq,·int·val·)·;\xd69 ··············4.·int·Ideq_insertAtHead·(·Ideq·*deq,·int·val·)·;\xd
70 ·················This·method·inserts·a·value·val·into·the·list·at·the·head·of·the·list.·If·there·is·no·room·in\xd70 ·················This·method·inserts·a·value·val·into·the·list·at·the·head·of·the·list.·If·there·is·no·room·in\xd
71 ·················the·list,·-1·is·returned·and·the·dequeue·must·be·resized·using·the·Ideq·resize()·method.\xd71 ·················the·list,·-1·is·returned·and·the·dequeue·must·be·resized·using·the·Ideq·resize()·method.\xd
72 ·················Otherwise,·the·item·is·placed·into·the·list·and·1·is·returned.\xd72 ·················Otherwise,·the·item·is·placed·into·the·list·and·1·is·returned.\xd
73 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd73 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
74 ···············5.·int·Ideq_tail·(·Ideq·*deq·)·;\xd74 ··············5.·int·Ideq_tail·(·Ideq·*deq·)·;\xd
75 ·················This·method·returns·the·value·at·the·tail·of·the·list·without·removing·that·value.·If·tail·==\xd75 ·················This·method·returns·the·value·at·the·tail·of·the·list·without·removing·that·value.·If·tail·==\xd
76 ·················-1·then·-1·is·returned.·Note,·the·list·may·be·nonempty·and·the·first·value·may·be·-1,·so·-1\xd76 ·················-1·then·-1·is·returned.·Note,·the·list·may·be·nonempty·and·the·first·value·may·be·-1,·so·-1\xd
77 ·················may·signal·an·empty·list·or·a·terminating·element.\xd77 ·················may·signal·an·empty·list·or·a·terminating·element.\xd
78 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd78 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
79 ···············6.·int·Ideq_removeFromTail·(·Ideq·*deq·)·;\xd79 ··············6.·int·Ideq_removeFromTail·(·Ideq·*deq·)·;\xd
80 ·················This·method·returns·the·value·at·the·tail·of·the·list·and·removes·that·value.·If·tail·==·-1\xd80 ·················This·method·returns·the·value·at·the·tail·of·the·list·and·removes·that·value.·If·tail·==·-1\xd
81 ·················then·-1·is·returned.·Note,·the·list·may·be·nonempty·and·the·first·value·may·be·-1,·so·-1\xd81 ·················then·-1·is·returned.·Note,·the·list·may·be·nonempty·and·the·first·value·may·be·-1,·so·-1\xd
82 ·················may·signal·an·empty·list·or·a·terminating·element.\xd82 ·················may·signal·an·empty·list·or·a·terminating·element.\xd
83 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd83 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
84 ···············7.·int·Ideq_insertAtTail·(·Ideq·*deq,·int·val·)·;\xd84 ··············7.·int·Ideq_insertAtTail·(·Ideq·*deq,·int·val·)·;\xd
85 ·················This·method·inserts·a·value·val·into·the·list·at·the·tail·of·the·list.·If·there·is·no·room·in\xd85 ·················This·method·inserts·a·value·val·into·the·list·at·the·tail·of·the·list.·If·there·is·no·room·in\xd
86 ·················the·list,·-1·is·returned·and·the·dequeue·must·be·resized·using·the·Ideq·resize()·method.\xd86 ·················the·list,·-1·is·returned·and·the·dequeue·must·be·resized·using·the·Ideq·resize()·method.\xd
87 ·················Otherwise,·the·item·is·placed·into·the·list·and·1·is·returned.\xd87 ·················Otherwise,·the·item·is·placed·into·the·list·and·1·is·returned.\xd
88 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd88 ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
89 ··············4····························Ideq·:·DRAFT·January·15,·2021\xd89 ··············4····························Ideq·:·DRAFT·February·18,·2022\xd
90 ··············1.2.4··IO·methods\xd90 ··············1.2.4··IO·methods\xd
91 ················1.·void·Ideq_writeForHumanEye·(·Ideq·*deq·)·;\xd91 ················1.·void·Ideq_writeForHumanEye·(·Ideq·*deq·)·;\xd
92 ···················This·method·write·the·state·of·the·object,·(the·size,·head·and·tail)·and·the·list·of·entries·to\xd92 ···················This·method·write·the·state·of·the·object,·(the·size,·head·and·tail)·and·the·list·of·entries·to\xd
93 ···················a·file.\xd93 ···················a·file.\xd
94 ···················Error·checking:·If·deq·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd94 ···················Error·checking:·If·deq·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
95 ·······Index\xd95 ·······Index\xd
96 ·······Ideq·clear(),·3\xd96 ·······Ideq·clear(),·3\xd
91.4 KB
./usr/share/doc/spooles-doc/InpMtx.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·4553631 gzip·compressed·data,·max·compression,·from·Unix,·original·size·455622
91.1 KB
InpMtx.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMMI10·CMMI78 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMMI10·CMMI7
9 %%+·CMSL10·CMBX10·CMR7·CMR6·CMTT8·CMCSC10·Helvetica9 %%+·CMSL10·CMBX10·CMR7·CMR6·CMTT8·CMCSC10·Helvetica
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·InpMtx.ps13 %DVIPSCommandLine:·dvips·main·-o·InpMtx.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 2093, 19 lines modifiedOffset 2093, 20 lines modified
2093 end·readonly·def2093 end·readonly·def
2094 /Encoding·256·array2094 /Encoding·256·array
2095 0·1·255·{1·index·exch·/.notdef·put}·for2095 0·1·255·{1·index·exch·/.notdef·put}·for
2096 dup·44·/comma·put2096 dup·44·/comma·put
2097 dup·48·/zero·put2097 dup·48·/zero·put
2098 dup·49·/one·put2098 dup·49·/one·put
2099 dup·50·/two·put2099 dup·50·/two·put
2100 dup·53·/five·put2100 dup·56·/eight·put
2101 dup·58·/colon·put2101 dup·58·/colon·put
2102 dup·74·/J·put2102 dup·70·/F·put
2103 dup·97·/a·put2103 dup·97·/a·put
 2104 dup·98·/b·put
2104 dup·110·/n·put2105 dup·101·/e·put
2105 dup·114·/r·put2106 dup·114·/r·put
2106 dup·117·/u·put2107 dup·117·/u·put
2107 dup·121·/y·put2108 dup·121·/y·put
2108 readonly·def2109 readonly·def
2109 currentdict·end2110 currentdict·end
2110 currentfile·eexec2111 currentfile·eexec
2111 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E72112 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 2289, 84 lines modifiedOffset 2290, 86 lines modified
2289 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A2290 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
2290 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380822291 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
2291 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E2292 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
2292 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A52293 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
2293 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B052294 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
2294 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C052295 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
2295 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97672296 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
2296 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7042297 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
2297 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
2298 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
2299 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
2300 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
2301 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
2302 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
2303 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
2304 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
2305 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
2306 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
2307 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
2308 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
2309 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
2310 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
2311 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
2312 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
2313 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
2314 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
2315 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
2316 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
2317 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
2318 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
2319 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
2320 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
2321 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
2322 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
2323 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
2324 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
2325 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
2326 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
2327 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
2328 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
2329 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
2330 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
2331 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
2332 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
2333 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
2334 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
2335 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
2336 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
2337 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
2338 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
2339 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
2340 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
2341 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
2342 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
2343 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
2344 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
2345 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
2346 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
2347 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
2348 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
2349 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
2350 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
2351 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
2352 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
2353 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
2354 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
2355 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
2356 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
2357 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
2358 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
2359 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
2360 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
2361 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
2362 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
2363 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
2364 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
2365 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE52298 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 2299 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 2300 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 2301 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 2302 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 2303 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 2304 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 2305 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 2306 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 2307 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 2308 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 2309 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 2310 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 2311 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 47940/59121 bytes (81.09%) of diff not shown.
33.3 KB
ps2ascii {}
    
Offset 28, 15 lines modifiedOffset 28, 15 lines modified
28 ·······················be·efficient·to·have·sufficient·elbow·room·to·minimize·the·number·of·sorts·and·compressions.·In·this\xd28 ·······················be·efficient·to·have·sufficient·elbow·room·to·minimize·the·number·of·sorts·and·compressions.·In·this\xd
29 ·······················case,·a·tight·upper·bound·on·the·necessary·storage·is·the·sum·of·the·sizes·of·the·elemental·matrices.\xd29 ·······················case,·a·tight·upper·bound·on·the·necessary·storage·is·the·sum·of·the·sizes·of·the·elemental·matrices.\xd
30 ·······················The·entries·are·assembled·by·a·call·to·InpMtx·changeStorageMode().\xd30 ·······················The·entries·are·assembled·by·a·call·to·InpMtx·changeStorageMode().\xd
31 ··················································································T\xd31 ··················································································T\xd
32 ····················5.·CreateanIVLobjectthatcontainsthefull·adjacencyofA+A·bycallingtheInpMtx·fullAdjacency()\xd32 ····················5.·CreateanIVLobjectthatcontainsthefull·adjacencyofA+A·bycallingtheInpMtx·fullAdjacency()\xd
33 ·······················method.\xd33 ·······················method.\xd
34 ·····································································1\xd34 ·····································································1\xd
35 ················2···································InpMtx·:·DRAFT·January·15,·2021\xd35 ················2··································InpMtx·:·DRAFT·February·18,·2022\xd
36 ···················6.·Create·a·Graph·object·using·the·Graph·init2()·method·and·the·IVL·object·as·an·input·argument.\xd36 ···················6.·Create·a·Graph·object·using·the·Graph·init2()·method·and·the·IVL·object·as·an·input·argument.\xd
37 ················A·similar·functionality·exists·for·creating·a·Graph·object·from·a·linear·combination·of·two·InpMtx·objects\xd37 ················A·similar·functionality·exists·for·creating·a·Graph·object·from·a·linear·combination·of·two·InpMtx·objects\xd
38 ················that·contains·the·matrices·A·and·B.·The·InpMtx·fullAdjacency2()·method·returns·an·IVL·object·with\xd38 ················that·contains·the·matrices·A·and·B.·The·InpMtx·fullAdjacency2()·method·returns·an·IVL·object·with\xd
39 ················the·full·adjacency·of·(A+B)+(A+B)T.·These·two·methods·are·called·by·the·DPencil·fullAdjacency()\xd39 ················the·full·adjacency·of·(A+B)+(A+B)T.·These·two·methods·are·called·by·the·DPencil·fullAdjacency()\xd
40 ················methods·to·return·the·full·adjacency·of·a·matrix·pencil.\xd40 ················methods·to·return·the·full·adjacency·of·a·matrix·pencil.\xd
41 ···················Here·is·a·common·sequence·of·events·to·use·this·object·when·we·want·to·assemble·the·entries·of·a·sparse\xd41 ···················Here·is·a·common·sequence·of·events·to·use·this·object·when·we·want·to·assemble·the·entries·of·a·sparse\xd
42 ················matrix.\xd42 ················matrix.\xd
Offset 68, 15 lines modifiedOffset 68, 15 lines modified
68 ····································j,j··j,k·········k,j\xd68 ····································j,j··j,k·········k,j\xd
69 ·························INPMTX·CUSTOM··custom·coordinates.\xd69 ·························INPMTX·CUSTOM··custom·coordinates.\xd
70 ····················int·storageMode·:·mode·of·storage\xd70 ····················int·storageMode·:·mode·of·storage\xd
71 ·························INPMTX·RAW·DATA··data·is·raw·pairs·or·triples,·two·coordinates·and·(optionally)·one·or·two\xd71 ·························INPMTX·RAW·DATA··data·is·raw·pairs·or·triples,·two·coordinates·and·(optionally)·one·or·two\xd
72 ··························double·precision·values.\xd72 ··························double·precision·values.\xd
73 ·························INPMTX·SORTED··data·is·sorted·and·distinct·triples,·the·primary·key·is·the·first·coordinate,·the\xd73 ·························INPMTX·SORTED··data·is·sorted·and·distinct·triples,·the·primary·key·is·the·first·coordinate,·the\xd
74 ··························secondary·key·is·the·second·coordinate.\xd74 ··························secondary·key·is·the·second·coordinate.\xd
75 ··········································InpMtx·:·DRAFT···January·15,·2021·······················3\xd75 ··········································InpMtx·:·DRAFT··February·18,·2022·······················3\xd
76 ·····················INPMTX·BY·VECTORS··data·is·sorted·and·distinct·vectors.·All·entries·in·a·vector·share·some-\xd76 ·····················INPMTX·BY·VECTORS··data·is·sorted·and·distinct·vectors.·All·entries·in·a·vector·share·some-\xd
77 ······················thing·in·common.·For·example,·when·coordType·is·INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or\xd77 ······················thing·in·common.·For·example,·when·coordType·is·INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or\xd
78 ······················INPMTX·BY·CHEVRONS,·row·vectors,·column·vectors,·or·chevron·vectors·are·stored,·respectively.\xd78 ······················INPMTX·BY·CHEVRONS,·row·vectors,·column·vectors,·or·chevron·vectors·are·stored,·respectively.\xd
79 ······················WhencoordTypeis·INPMTX·CUSTOM,·a·custom·type,·entries·in·the·same·vector·have·something·in\xd79 ······················WhencoordTypeis·INPMTX·CUSTOM,·a·custom·type,·entries·in·the·same·vector·have·something·in\xd
80 ······················common·but·it·need·not·be·a·common·row,·column·or·chevron·coordinate.\xd80 ······················common·but·it·need·not·be·a·common·row,·column·or·chevron·coordinate.\xd
81 ·················int·inputMode·:·mode·of·data·input\xd81 ·················int·inputMode·:·mode·of·data·input\xd
82 ·····················INPMTX·INDICES·ONLY··only·indices·are·stored,·not·entries.\xd82 ·····················INPMTX·INDICES·ONLY··only·indices·are·stored,·not·entries.\xd
Offset 106, 15 lines modifiedOffset 106, 15 lines modified
106 ·················INPMTX·IS·BY·COLUMNS(mtx)·returns·1·if·the·entries·are·stored·by·columns,·and·0·otherwise.\xd106 ·················INPMTX·IS·BY·COLUMNS(mtx)·returns·1·if·the·entries·are·stored·by·columns,·and·0·otherwise.\xd
107 ·················INPMTX·IS·BY·CHEVRONS(mtx)·returns·1·if·the·entries·are·stored·by·chevrons,·and·0·otherwise.\xd107 ·················INPMTX·IS·BY·CHEVRONS(mtx)·returns·1·if·the·entries·are·stored·by·chevrons,·and·0·otherwise.\xd
108 ·················INPMTX·IS·BY·CUSTOM(mtx)·returns·1·if·the·entries·are·stored·by·some·custom·coordinate,·and·0\xd108 ·················INPMTX·IS·BY·CUSTOM(mtx)·returns·1·if·the·entries·are·stored·by·some·custom·coordinate,·and·0\xd
109 ··················otherwise.\xd109 ··················otherwise.\xd
110 ·················INPMTX·IS·RAW·DATA(mtx)·returns·1·if·the·entries·are·stored·as·unsorted·pairs·or·triples,·and·0·other-\xd110 ·················INPMTX·IS·RAW·DATA(mtx)·returns·1·if·the·entries·are·stored·as·unsorted·pairs·or·triples,·and·0·other-\xd
111 ··················wise.\xd111 ··················wise.\xd
112 ·················INPMTX·IS·SORTED(mtx)·returns·1·if·the·entries·are·stored·as·sorted·pairs·or·triples,·and·0·otherwise.\xd112 ·················INPMTX·IS·SORTED(mtx)·returns·1·if·the·entries·are·stored·as·sorted·pairs·or·triples,·and·0·otherwise.\xd
113 ··············4····························InpMtx·:·DRAFT·January·15,·2021\xd113 ··············4····························InpMtx·:·DRAFT·February·18,·2022\xd
114 ·················INPMTX·IS·BY·VECTORS(mtx)·returns·1·if·the·entries·are·stored·as·vectors,·and·0·otherwise.\xd114 ·················INPMTX·IS·BY·VECTORS(mtx)·returns·1·if·the·entries·are·stored·as·vectors,·and·0·otherwise.\xd
115 ·················INPMTX·IS·INDICES·ONLY(mtx)·returns·1·if·the·entries·are·not·stored,·and·0·otherwise.\xd115 ·················INPMTX·IS·INDICES·ONLY(mtx)·returns·1·if·the·entries·are·not·stored,·and·0·otherwise.\xd
116 ·················INPMTX·IS·REAL·ENTRIES(mtx)·returns·1·if·the·entries·are·real,·and·0·otherwise.\xd116 ·················INPMTX·IS·REAL·ENTRIES(mtx)·returns·1·if·the·entries·are·real,·and·0·otherwise.\xd
117 ·················INPMTX·IS·COMPLEX·ENTRIES(mtx)·returns·1·if·the·entries·are·complex,·and·0·otherwise.\xd117 ·················INPMTX·IS·COMPLEX·ENTRIES(mtx)·returns·1·if·the·entries·are·complex,·and·0·otherwise.\xd
118 ··············1.2···Prototypes·and·descriptions·of·InpMtx·methods\xd118 ··············1.2···Prototypes·and·descriptions·of·InpMtx·methods\xd
119 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·InpMtx·object.\xd119 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·InpMtx·object.\xd
120 ··············1.2.1··Basic·methods\xd120 ··············1.2.1··Basic·methods\xd
Offset 140, 15 lines modifiedOffset 140, 15 lines modified
140 ················1.·int·InpMtx_coordType·(·InpMtx·*inpmtx·)·;\xd140 ················1.·int·InpMtx_coordType·(·InpMtx·*inpmtx·)·;\xd
141 ··················This·method·returns·the·coordinate·type.\xd141 ··················This·method·returns·the·coordinate·type.\xd
142 ·····················INPMTX·NO·TYPE··none·specified\xd142 ·····················INPMTX·NO·TYPE··none·specified\xd
143 ·····················INPMTX·BY·ROWS··storage·by·row·triples\xd143 ·····················INPMTX·BY·ROWS··storage·by·row·triples\xd
144 ·····················INPMTX·BY·COLUMNS··storage·by·column·triples\xd144 ·····················INPMTX·BY·COLUMNS··storage·by·column·triples\xd
145 ·····················INPMTX·BY·CHEVRONS··storage·by·chevron·triples\xd145 ·····················INPMTX·BY·CHEVRONS··storage·by·chevron·triples\xd
146 ·····················INPMTX·CUSTOM··custom·type\xd146 ·····················INPMTX·CUSTOM··custom·type\xd
147 ··········································InpMtx·:·DRAFT···January·15,·2021·······················5\xd147 ··········································InpMtx·:·DRAFT··February·18,·2022·······················5\xd
148 ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd148 ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
149 ················2.·int·InpMtx_storageMode·(·InpMtx·*inpmtx·)·;\xd149 ················2.·int·InpMtx_storageMode·(·InpMtx·*inpmtx·)·;\xd
150 ··················This·method·returns·the·storage·mode.\xd150 ··················This·method·returns·the·storage·mode.\xd
151 ·····················INPMTX·NO·MODE··none·specified\xd151 ·····················INPMTX·NO·MODE··none·specified\xd
152 ·····················INPMTX·RAW·DATA··raw·triples\xd152 ·····················INPMTX·RAW·DATA··raw·triples\xd
153 ·····················INPMTX·SORTED··sorted·and·distinct·triples\xd153 ·····················INPMTX·SORTED··sorted·and·distinct·triples\xd
154 ·····················INPMTX·BY·VECTORS··vectors·by·the·first·coordinate\xd154 ·····················INPMTX·BY·VECTORS··vectors·by·the·first·coordinate\xd
Offset 176, 15 lines modifiedOffset 176, 15 lines modified
176 ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd176 ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
177 ················9.·int·*·InpMtx_ivec1·(·InpMtx·*inpmtx·)·;\xd177 ················9.·int·*·InpMtx_ivec1·(·InpMtx·*inpmtx·)·;\xd
178 ··················This·method·returns·the·base·address·of·the·ivec1[]·vector.\xd178 ··················This·method·returns·the·base·address·of·the·ivec1[]·vector.\xd
179 ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd179 ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
180 ···············10.·int·*·InpMtx_ivec2·(·InpMtx·*inpmtx·)·;\xd180 ···············10.·int·*·InpMtx_ivec2·(·InpMtx·*inpmtx·)·;\xd
181 ··················This·method·returns·the·base·address·of·the·ivec2[]·vector.\xd181 ··················This·method·returns·the·base·address·of·the·ivec2[]·vector.\xd
182 ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd182 ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
183 ·················6····································InpMtx·:·DRAFT·January·15,·2021\xd183 ·················6····································InpMtx·:·DRAFT·February·18,·2022\xd
184 ···················11.·double·*·InpMtx_dvec·(·InpMtx·*inpmtx·)·;\xd184 ···················11.·double·*·InpMtx_dvec·(·InpMtx·*inpmtx·)·;\xd
185 ·······················This·method·returns·the·base·address·of·the·dvec[]·vector.\xd185 ·······················This·method·returns·the·base·address·of·the·dvec[]·vector.\xd
186 ·······················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd186 ·······················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
187 ···················12.·int·*·InpMtx_vecids·(·InpMtx·*inpmtx·)·;\xd187 ···················12.·int·*·InpMtx_vecids·(·InpMtx·*inpmtx·)·;\xd
188 ·······················This·method·returns·the·base·address·of·the·vecids[]·vector.\xd188 ·······················This·method·returns·the·base·address·of·the·vecids[]·vector.\xd
189 ·······················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd189 ·······················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
190 ···················13.·int·*·InpMtx_sizes·(·InpMtx·*inpmtx·)·;\xd190 ···················13.·int·*·InpMtx_sizes·(·InpMtx·*inpmtx·)·;\xd
Offset 217, 15 lines modifiedOffset 217, 15 lines modified
217 ·······················This·method·sets·the·maxinum·number·of·entries·in·the·indices·and·entries·vectors.\xd217 ·······················This·method·sets·the·maxinum·number·of·entries·in·the·indices·and·entries·vectors.\xd
218 ·······················Error·checking:·If·inpmtx·is·NULL,·or·if·newmaxnent·<·0,·an·error·message·is·printed·and·the·program\xd218 ·······················Error·checking:·If·inpmtx·is·NULL,·or·if·newmaxnent·<·0,·an·error·message·is·printed·and·the·program\xd
219 ·······················exits.\xd219 ·······················exits.\xd
220 ···················18.·void·InpMtx_setNent·(·InpMtx·*inpmtx,·int·newnent·)·;\xd220 ···················18.·void·InpMtx_setNent·(·InpMtx·*inpmtx,·int·newnent·)·;\xd
221 ·······················This·method·sets·the·present·number·of·entries·in·the·indices·and·entries·vectors.\xd221 ·······················This·method·sets·the·present·number·of·entries·in·the·indices·and·entries·vectors.\xd
222 ·······················Error·checking:·If·inpmtx·is·NULL,·or·if·newnent·<·0,·an·error·message·is·printed·and·the·program\xd222 ·······················Error·checking:·If·inpmtx·is·NULL,·or·if·newnent·<·0,·an·error·message·is·printed·and·the·program\xd
223 ·······················exits.\xd223 ·······················exits.\xd
224 ··········································InpMtx·:·DRAFT···January·15,·2021·······················7\xd224 ··········································InpMtx·:·DRAFT··February·18,·2022·······················7\xd
225 ···············19.·void·InpMtx_setMaxnvector·(·InpMtx·*inpmtx,·int·newmaxnvector·)·;\xd225 ···············19.·void·InpMtx_setMaxnvector·(·InpMtx·*inpmtx,·int·newmaxnvector·)·;\xd
226 ··················This·method·sets·the·maxinum·number·of·vectors.\xd226 ··················This·method·sets·the·maxinum·number·of·vectors.\xd
227 ··················Error·checking:·If·inpmtx·is·NULL,·or·if·newmaxnvector·<·0,·an·error·message·is·printed·and·the\xd227 ··················Error·checking:·If·inpmtx·is·NULL,·or·if·newmaxnvector·<·0,·an·error·message·is·printed·and·the\xd
228 ··················program·exits.\xd228 ··················program·exits.\xd
229 ···············20.·void·InpMtx_setNvector·(·InpMtx·*inpmtx,·int·newnvector·)·;\xd229 ···············20.·void·InpMtx_setNvector·(·InpMtx·*inpmtx,·int·newnvector·)·;\xd
230 ··················This·method·sets·the·present·number·of·vectors.\xd230 ··················This·method·sets·the·present·number·of·vectors.\xd
231 ··················Error·checking:·If·inpmtx·is·NULL,·or·if·newnvector·<·0,·an·error·message·is·printed·and·the·program\xd231 ··················Error·checking:·If·inpmtx·is·NULL,·or·if·newnvector·<·0,·an·error·message·is·printed·and·the·program\xd
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ··················exits.\xd261 ··················exits.\xd
262 ················3.·void·InpMtx_changeStorageMode·(·InpMtx·*inpmtx,·int·newMode·)·;\xd262 ················3.·void·InpMtx_changeStorageMode·(·InpMtx·*inpmtx,·int·newMode·)·;\xd
263 ··················If·storageMode·=·newMode,·the·method·returns.·Otherwise,·a·translation·between·the·three·valid\xd263 ··················If·storageMode·=·newMode,·the·method·returns.·Otherwise,·a·translation·between·the·three·valid\xd
264 ··················modes·is·made·by·calling·InpMtx·sortAndCompress()and·InpMtx·convertToVectors(),as·appropri-\xd264 ··················modes·is·made·by·calling·InpMtx·sortAndCompress()and·InpMtx·convertToVectors(),as·appropri-\xd
265 ··················ate.\xd265 ··················ate.\xd
266 ··················Error·checking:·If·inpmtx·is·NULL·or·newMode·is·invalid,·an·error·message·is·printed·and·the·program\xd266 ··················Error·checking:·If·inpmtx·is·NULL·or·newMode·is·invalid,·an·error·message·is·printed·and·the·program\xd
267 ··················exits.\xd267 ··················exits.\xd
268 ··············8····························InpMtx·:·DRAFT·January·15,·2021\xd268 ··············8····························InpMtx·:·DRAFT·February·18,·2022\xd
269 ··············1.2.4··Input·methods\xd269 ··············1.2.4··Input·methods\xd
270 ················1.·void·InpMtx_inputEntry·(·InpMtx·*inpmtx,·int·row,·int·col·)·;\xd270 ················1.·void·InpMtx_inputEntry·(·InpMtx·*inpmtx,·int·row,·int·col·)·;\xd
271 ··················void·InpMtx_inputRealEntry·(·InpMtx·*inpmtx,·int·row,·int·col,·double·value·)·;\xd271 ··················void·InpMtx_inputRealEntry·(·InpMtx·*inpmtx,·int·row,·int·col,·double·value·)·;\xd
272 ··················void·InpMtx_inputComplexEntry·(·InpMtx·*inpmtx,·int·row,·int·col,\xd272 ··················void·InpMtx_inputComplexEntry·(·InpMtx·*inpmtx,·int·row,·int·col,\xd
273 ················································double·real,·double·imag·)·;\xd273 ················································double·real,·double·imag·)·;\xd
274 ··················This·method·places·a·single·entry·into·the·matrix·object.·The·coordinate·type·of·the·object·must·be\xd274 ··················This·method·places·a·single·entry·into·the·matrix·object.·The·coordinate·type·of·the·object·must·be\xd
275 ··················INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or·INPMTX·BY·CHEVRONS.·The·triple·is·formed·and·inserted·into\xd275 ··················INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or·INPMTX·BY·CHEVRONS.·The·triple·is·formed·and·inserted·into\xd
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ··················Error·checking:·If·inpmtx·is·NULL,·or·chv·or·chvsize·are·negative,·or·chvind·or·chvent·are·NULL,·an\xd307 ··················Error·checking:·If·inpmtx·is·NULL,·or·chv·or·chvsize·are·negative,·or·chvind·or·chvent·are·NULL,·an\xd
308 ··················error·message·is·printed·and·the·program·exits.\xd308 ··················error·message·is·printed·and·the·program·exits.\xd
309 ················5.·void·InpMtx_inputMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd309 ················5.·void·InpMtx_inputMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd
310 ·····················int·rowstride,·int·colstride,·int·rowind[],·int·colind[]·)·;\xd310 ·····················int·rowstride,·int·colstride,·int·rowind[],·int·colind[]·)·;\xd
311 ··················void·InpMtx_inputRealMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd311 ··················void·InpMtx_inputRealMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd
312 ·····················int·rowstride,·int·colstride,·int·rowind[],·int·colind[],·double·mtxent[]·)·;\xd312 ·····················int·rowstride,·int·colstride,·int·rowind[],·int·colind[],·double·mtxent[]·)·;\xd
313 ··················void·InpMtx_inputComplexMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd313 ··················void·InpMtx_inputComplexMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd
314 ·············································InpMtx·:·DRAFT···January·15,·2021·························9\xd314 ············································InpMtx·:·DRAFT····February·18,·2022························9\xd
315 ······················int·rowstride,·int·colstride,·int·rowind[],·int·colind[],·double·mtxent[]·)·;\xd315 ······················int·rowstride,·int·colstride,·int·rowind[],·int·colind[],·double·mtxent[]·)·;\xd
316 ···················This·method·places·a·dense·submatrix·into·the·matrix·object.·The·coordinate·type·of·the·object·must\xd316 ···················This·method·places·a·dense·submatrix·into·the·matrix·object.·The·coordinate·type·of·the·object·must\xd
317 ···················be·INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or·INPMTX·BY·CHEVRONS.·The·individual·entries·of·the·matrix\xd317 ···················be·INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or·INPMTX·BY·CHEVRONS.·The·individual·entries·of·the·matrix\xd
318 ···················are·placed·into·the·vector·storage·as·triples,·and·the·vectors·are·resized·if·necessary.\xd318 ···················are·placed·into·the·vector·storage·as·triples,·and·the·vectors·are·resized·if·necessary.\xd
319 ···················Error·checking:·If·inpmtx·is·NULL,·or·col·or·row·are·negative,·or·rowstride·or·colstride·are·less\xd319 ···················Error·checking:·If·inpmtx·is·NULL,·or·col·or·row·are·negative,·or·rowstride·or·colstride·are·less\xd
320 ···················than·1,·or·rowind,·colind·or·mtxent·are·NULL,·an·error·message·is·printed·and·the·program·exits.\xd320 ···················than·1,·or·rowind,·colind·or·mtxent·are·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
321 ·················6.·void·InpMtx_inputTriples·(·InpMtx·*inpmtx,·int·ntriples,\xd321 ·················6.·void·InpMtx_inputTriples·(·InpMtx·*inpmtx,·int·ntriples,\xd
Max diff block lines reached; 22743/34120 bytes (66.66%) of diff not shown.
237 KB
./usr/share/doc/spooles-doc/LinSol.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·6301881 gzip·compressed·data,·max·compression,·from·Unix,·original·size·630795
236 KB
LinSol.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMR17·CMBX12·CMR12·CMR8·CMR6·CMR9·CMBX10·CMR10·CMTT108 %%DocumentFonts:·CMR17·CMBX12·CMR12·CMR8·CMR6·CMR9·CMBX10·CMR10·CMTT10
9 %%+·CMSL10·CMMI10·CMEX10·CMMI7·CMTI10·CMSY10·CMTT129 %%+·CMSL10·CMMI10·CMEX10·CMMI7·CMTI10·CMSY10·CMTT12
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·LinSol.ps13 %DVIPSCommandLine:·dvips·main·-o·LinSol.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 2535, 19 lines modifiedOffset 2535, 20 lines modified
2535 end·readonly·def2535 end·readonly·def
2536 /Encoding·256·array2536 /Encoding·256·array
2537 0·1·255·{1·index·exch·/.notdef·put}·for2537 0·1·255·{1·index·exch·/.notdef·put}·for
2538 dup·44·/comma·put2538 dup·44·/comma·put
2539 dup·48·/zero·put2539 dup·48·/zero·put
2540 dup·49·/one·put2540 dup·49·/one·put
2541 dup·50·/two·put2541 dup·50·/two·put
2542 dup·53·/five·put2542 dup·56·/eight·put
2543 dup·58·/colon·put2543 dup·58·/colon·put
2544 dup·74·/J·put2544 dup·70·/F·put
2545 dup·97·/a·put2545 dup·97·/a·put
 2546 dup·98·/b·put
2546 dup·110·/n·put2547 dup·101·/e·put
2547 dup·114·/r·put2548 dup·114·/r·put
2548 dup·117·/u·put2549 dup·117·/u·put
2549 dup·121·/y·put2550 dup·121·/y·put
2550 readonly·def2551 readonly·def
2551 currentdict·end2552 currentdict·end
2552 currentfile·eexec2553 currentfile·eexec
2553 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E72554 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 2731, 84 lines modifiedOffset 2732, 86 lines modified
2731 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A2732 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
2732 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380822733 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
2733 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E2734 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
2734 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A52735 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
2735 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B052736 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
2736 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C052737 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
2737 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97672738 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
2738 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7042739 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
2739 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
2740 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
2741 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
2742 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
2743 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
2744 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
2745 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
2746 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
2747 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
2748 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
2749 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
2750 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
2751 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
2752 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
2753 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
2754 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
2755 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
2756 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
2757 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
2758 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
2759 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
2760 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
2761 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
2762 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
2763 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
2764 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
2765 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
2766 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
2767 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
2768 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
2769 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
2770 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
2771 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
2772 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
2773 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
2774 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
2775 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
2776 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
2777 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
2778 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
2779 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
2780 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
2781 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
2782 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
2783 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
2784 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
2785 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
2786 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
2787 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
2788 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
2789 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
2790 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
2791 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
2792 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
2793 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
2794 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
2795 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
2796 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
2797 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
2798 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
2799 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
2800 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
2801 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
2802 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
2803 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
2804 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
2805 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
2806 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
2807 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE52740 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 2741 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 2742 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 2743 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 2744 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 2745 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 2746 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 2747 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 2748 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 2749 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 2750 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 2751 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 2752 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 2753 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 88272/99453 bytes (88.76%) of diff not shown.
139 KB
ps2ascii {}
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 ············································Wrapper·Objects·for·Solving\xd1 ············································Wrapper·Objects·for·Solving\xd
2 ···········································a·Linear·System·of·Equations\xd2 ···········································a·Linear·System·of·Equations\xd
3 ·················································using·SPOOLES·2.2\xd3 ·················································using·SPOOLES·2.2\xd
4 ··········································Cleve·Ashcraft······················Peter·Schartz\xd4 ··········································Cleve·Ashcraft······················Peter·Schartz\xd
5 ·································Boeing·Shared·Services·Group1·············CSARCorporation2\xd5 ·································Boeing·Shared·Services·Group1·············CSARCorporation2\xd
6 ························································January·15,·2021\xd6 ·······················································February·18,·2022\xd
7 ··················1P.·O.·Box·24346,·Mail·Stop·7L-21,·Seattle,·Washington·98124.·This·research·was·supported·in·part·by·the\xd7 ··················1P.·O.·Box·24346,·Mail·Stop·7L-21,·Seattle,·Washington·98124.·This·research·was·supported·in·part·by·the\xd
8 ················DARPAContract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common\xd8 ················DARPAContract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common\xd
9 ················HPCSoftware·Support·Initiative.\xd9 ················HPCSoftware·Support·Initiative.\xd
10 ··················228035·Dorothy·Drive,·Agoura·Hills,·CA·91301.·This·research·was·supported·in·part·by·the·DARPA·Contract\xd10 ··················228035·Dorothy·Drive,·Agoura·Hills,·CA·91301.·This·research·was·supported·in·part·by·the·DARPA·Contract\xd
11 ················DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd11 ················DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd
12 ················Support·Initiative.\xd12 ················Support·Initiative.\xd
13 ·····························Abstract\xd13 ·····························Abstract\xd
Offset 51, 15 lines modifiedOffset 51, 15 lines modified
51 ·····························4.3.5···Factor·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······25\xd51 ·····························4.3.5···Factor·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······25\xd
52 ·····························4.3.6···Solve·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········26\xd52 ·····························4.3.6···Solve·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········26\xd
53 ···················5·The·MPI·Wrapper·Object·and·Driver····················································································27\xd53 ···················5·The·MPI·Wrapper·Object·and·Driver····················································································27\xd
54 ·······················5.1···Aquick·look·at·the·MPI·driver·program·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············28\xd54 ·······················5.1···Aquick·look·at·the·MPI·driver·program·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············28\xd
55 ·······················5.2···The·BridgeMPI·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···········30\xd55 ·······················5.2···The·BridgeMPI·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···········30\xd
56 ·······················5.3···Prototypes·and·descriptions·of·BridgeMPI·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·············32\xd56 ·······················5.3···Prototypes·and·descriptions·of·BridgeMPI·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·············32\xd
57 ···············································································1\xd57 ···············································································1\xd
58 ·················································SPOOLES·2.2·Wrapper·Objects·:··················January·15,·2021····························2\xd58 ················································SPOOLES·2.2·Wrapper·Objects·:··················February·18,·2022····························2\xd
59 ·····························5.3.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········32\xd59 ·····························5.3.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········32\xd
60 ·····························5.3.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······33\xd60 ·····························5.3.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······33\xd
61 ·····························5.3.3···Parameter·methods········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···34\xd61 ·····························5.3.3···Parameter·methods········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···34\xd
62 ·····························5.3.4···Setup·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········35\xd62 ·····························5.3.4···Setup·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········35\xd
63 ·····························5.3.5···Factor·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······35\xd63 ·····························5.3.5···Factor·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······35\xd
64 ·····························5.3.6···Solve·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········36\xd64 ·····························5.3.6···Solve·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········36\xd
65 ···················A·testWrapper.c··A·Serial·Driver·Program··············································································37\xd65 ···················A·testWrapper.c··A·Serial·Driver·Program··············································································37\xd
Offset 104, 15 lines modifiedOffset 104, 15 lines modified
104 ·················the·user·must·generate·two·SPOOLES·objects··a·InpMtx·object·for·A·and·DenseMtx·objects·for·Y·and\xd104 ·················the·user·must·generate·two·SPOOLES·objects··a·InpMtx·object·for·A·and·DenseMtx·objects·for·Y·and\xd
105 ·················X.·This·process·is·described·in·section·2.\xd105 ·················X.·This·process·is·described·in·section·2.\xd
106 ····················Serial·code·has·one·process·and·one·address·space.·Multithreaded·code·can·have·multiple·threads·sharing\xd106 ····················Serial·code·has·one·process·and·one·address·space.·Multithreaded·code·can·have·multiple·threads·sharing\xd
107 ·················one·address·space.·The·SPOOLES·library·utilizes·multiple·threads·only·in·the·factorization·and·solve·steps.\xd107 ·················one·address·space.·The·SPOOLES·library·utilizes·multiple·threads·only·in·the·factorization·and·solve·steps.\xd
108 ·················All·other·operations·act·on·the·global·data·structures·using·serial·methods.·In·the·MPI·environment,·the\xd108 ·················All·other·operations·act·on·the·global·data·structures·using·serial·methods.·In·the·MPI·environment,·the\xd
109 ·················data·structures·for·A,·X·and·Y·may·be·distributed,·and·all·working·data·structures·that·contain·the·factor\xd109 ·················data·structures·for·A,·X·and·Y·may·be·distributed,·and·all·working·data·structures·that·contain·the·factor\xd
110 ·····································································3\xd110 ·····································································3\xd
111 ·································SPOOLES·2.2·Wrapper·Objects·:···January·15,·2021·············4\xd111 ·································SPOOLES·2.2·Wrapper·Objects·:··February·18,·2022·············4\xd
112 ·············matrices·and·their·supporting·information·are·distributed.·The·MPI·code·is·much·more·complex·than·the\xd112 ·············matrices·and·their·supporting·information·are·distributed.·The·MPI·code·is·much·more·complex·than·the\xd
113 ·············serial·or·multithreaded·codes,·for·not·only·are·the·factor·and·solves·parallel·and·distributed·(as·is·the·symbolic\xd113 ·············serial·or·multithreaded·codes,·for·not·only·are·the·factor·and·solves·parallel·and·distributed·(as·is·the·symbolic\xd
114 ·············factorization),·but·there·is·a·great·deal·of·support·code·necessary·because·of·the·distributed·data·structures.\xd114 ·············factorization),·but·there·is·a·great·deal·of·support·code·necessary·because·of·the·distributed·data·structures.\xd
115 ················ThewrappermethodsdescribedinthispaperdonotexerciseallthefunctionalityoftheMPIenvironment.\xd115 ················ThewrappermethodsdescribedinthispaperdonotexerciseallthefunctionalityoftheMPIenvironment.\xd
116 ·············This·is·due·to·the·present·state·of·the·CSAR-Nastran·code·from·CSAR,·where·the·matrix·A·and·right·hand\xd116 ·············This·is·due·to·the·present·state·of·the·CSAR-Nastran·code·from·CSAR,·where·the·matrix·A·and·right·hand\xd
117 ·············side·Y·are·generated·on·one·processor.·We·chose·to·do·all·the·serial·preprocessing\xd117 ·············side·Y·are·generated·on·one·processor.·We·chose·to·do·all·the·serial·preprocessing\xd
118 ·················generate·a·graph·of·the·matrix,\xd118 ·················generate·a·graph·of·the·matrix,\xd
Offset 150, 15 lines modifiedOffset 150, 15 lines modified
150 ······················INPMTX·BY·COLUMNS,·where·r(i,j)·=·j,·c(i,j)·=·i.\xd150 ······················INPMTX·BY·COLUMNS,·where·r(i,j)·=·j,·c(i,j)·=·i.\xd
151 ······················INPMTX·BY·CHEVRONS,·where·r(i,j)·=·min(i,j),·c(i,j)·=·j·−i.\xd151 ······················INPMTX·BY·CHEVRONS,·where·r(i,j)·=·min(i,j),·c(i,j)·=·j·−i.\xd
152 ·················Rows·and·columns·are·self-explanatory,·the·first·coordinate·r(i,j)·is·either·the·row·or·column·of·ai,j.·The\xd152 ·················Rows·and·columns·are·self-explanatory,·the·first·coordinate·r(i,j)·is·either·the·row·or·column·of·ai,j.·The\xd
153 ·················j-th·“chevron”·is·composed·of·the·diagonal·entry·aj,j,·entries·in·the·j-th·row·of·the·upper·triangle,·and\xd153 ·················j-th·“chevron”·is·composed·of·the·diagonal·entry·aj,j,·entries·in·the·j-th·row·of·the·upper·triangle,·and\xd
154 ·················entries·in·the·j-th·column·of·the·lower·triangle.·It·is·the·natural·data·structure·for·the·assembly·of·the\xd154 ·················entries·in·the·j-th·column·of·the·lower·triangle.·It·is·the·natural·data·structure·for·the·assembly·of·the\xd
155 ·················matrix·entries·into·the·“fronts”·used·to·factor·the·matrix.\xd155 ·················matrix·entries·into·the·“fronts”·used·to·factor·the·matrix.\xd
156 ·······································································5\xd156 ·······································································5\xd
157 ······································SPOOLES·2.2·Wrapper·Objects·:········January·15,·2021··················6\xd157 ······································SPOOLES·2.2·Wrapper·Objects·:·······February·18,·2022··················6\xd
158 ··················The·InpMtx·object·can·hold·one·of·three·types·of·entries·as·“indices·only”·(no·entries·are·present),·real\xd158 ··················The·InpMtx·object·can·hold·one·of·three·types·of·entries·as·“indices·only”·(no·entries·are·present),·real\xd
159 ···············entries,·or·complex·entries.·The·type·is·specified·by·the·inputModeparameter·to·the·InpMtx·init()·method.\xd159 ···············entries,·or·complex·entries.·The·type·is·specified·by·the·inputModeparameter·to·the·InpMtx·init()·method.\xd
160 ···················INPMTX·INDICES·ONLY·where·the·triples·langler(i,j),c(i,j),−i·are·really·only·pairs,·i.e.,·no·numerical\xd160 ···················INPMTX·INDICES·ONLY·where·the·triples·langler(i,j),c(i,j),−i·are·really·only·pairs,·i.e.,·no·numerical\xd
161 ····················values·are·present.·This·mode·is·useful·for·assembling·graphs.\xd161 ····················values·are·present.·This·mode·is·useful·for·assembling·graphs.\xd
162 ···················SPOOLES·REAL·where·ai,j·is·a·real·number,·a·double·value.\xd162 ···················SPOOLES·REAL·where·ai,j·is·a·real·number,·a·double·value.\xd
163 ···················SPOOLES·COMPLEX·where·a···is·a·complex·number,·really·two·consecutive·double·values.\xd163 ···················SPOOLES·COMPLEX·where·a···is·a·complex·number,·really·two·consecutive·double·values.\xd
164 ···········································i,j\xd164 ···········································i,j\xd
Offset 192, 15 lines modifiedOffset 192, 15 lines modified
192 ···············to·assemble·finite·element·matrices.)·The·knowledgeable·user·can·change·the·storage·mode·as·necessary,\xd192 ···············to·assemble·finite·element·matrices.)·The·knowledgeable·user·can·change·the·storage·mode·as·necessary,\xd
193 ···············and·thus·avoiding·expensive·sorts·when·possible.·For·example,·after·reading·in·the·matrix·data·from·the\xd193 ···············and·thus·avoiding·expensive·sorts·when·possible.·For·example,·after·reading·in·the·matrix·data·from·the\xd
194 ···············CSAR-Nastran·file,·the·entries·are·already·in·sorted·form,·and·the·explicit·sort·can·be·avoided.\xd194 ···············CSAR-Nastran·file,·the·entries·are·already·in·sorted·form,·and·the·explicit·sort·can·be·avoided.\xd
195 ··················Now·let·us·see·how·we·“input”·information·into·the·InpMtx·object.·There·are·several·input·methods,\xd195 ··················Now·let·us·see·how·we·“input”·information·into·the·InpMtx·object.·There·are·several·input·methods,\xd
196 ···············e.g.,·single·entries,·rows,·columns,·and·submatrices,·and·each·input·method·has·three·types·of·input,·e.g,\xd196 ···············e.g.,·single·entries,·rows,·columns,·and·submatrices,·and·each·input·method·has·three·types·of·input,·e.g,\xd
197 ···············indices·only,·real·entries,·or·complex·entries.·Here·are·the·prototypes·below.\xd197 ···············indices·only,·real·entries,·or·complex·entries.·Here·are·the·prototypes·below.\xd
198 ···················Input·methods·for·“indices·only”·mode.\xd198 ···················Input·methods·for·“indices·only”·mode.\xd
199 ··································SPOOLES·2.2·Wrapper·Objects·:·····January·15,·2021··············7\xd199 ··································SPOOLES·2.2·Wrapper·Objects·:····February·18,·2022··············7\xd
200 ··················void·InpMtx_inputEntry·(·InpMtx·*mtxA,·int·row,·int·col·)·;\xd200 ··················void·InpMtx_inputEntry·(·InpMtx·*mtxA,·int·row,·int·col·)·;\xd
201 ··················void·InpMtx_inputRow·(·InpMtx·*mtxA,·int·row,·int·rowsize,·int·rowind[]·)·;\xd201 ··················void·InpMtx_inputRow·(·InpMtx·*mtxA,·int·row,·int·rowsize,·int·rowind[]·)·;\xd
202 ··················void·InpMtx_inputColumn·(·InpMtx·*mtxA,·int·col,·int·colsize,·int·colind[]·)·;\xd202 ··················void·InpMtx_inputColumn·(·InpMtx·*mtxA,·int·col,·int·colsize,·int·colind[]·)·;\xd
203 ··················void·InpMtx_inputMatrix·(·InpMtx·*mtxA,·int·nrow,·int·ncol,·int·rowstride,\xd203 ··················void·InpMtx_inputMatrix·(·InpMtx·*mtxA,·int·nrow,·int·ncol,·int·rowstride,\xd
204 ···········································int·colstride,·int·rowind[],·colind[]·)·;\xd204 ···········································int·colstride,·int·rowind[],·colind[]·)·;\xd
205 ·················Input·methods·for·real·entries.\xd205 ·················Input·methods·for·real·entries.\xd
206 ··················void·InpMtx_inputRealEntry·(·InpMtx·*mtxA,·int·row,·int·col,·double·value·)·;\xd206 ··················void·InpMtx_inputRealEntry·(·InpMtx·*mtxA,·int·row,·int·col,·double·value·)·;\xd
Offset 238, 15 lines modifiedOffset 238, 15 lines modified
238 ···················if·(·ii·<·n1·)·{\xd238 ···················if·(·ii·<·n1·)·{\xd
239 ······················indices[count]·=·ij·+·1·;\xd239 ······················indices[count]·=·ij·+·1·;\xd
240 ······················entries[count]·=·-1.0·;\xd240 ······················entries[count]·=·-1.0·;\xd
241 ······················count++·;\xd241 ······················count++·;\xd
242 ···················}\xd242 ···················}\xd
243 ···················if·(·jj·<·n2·)·{\xd243 ···················if·(·jj·<·n2·)·{\xd
244 ······················indices[count]·=·ij·+·n1·;\xd244 ······················indices[count]·=·ij·+·n1·;\xd
245 ·································SPOOLES·2.2·Wrapper·Objects·:···January·15,·2021·············8\xd245 ·································SPOOLES·2.2·Wrapper·Objects·:··February·18,·2022·············8\xd
246 ·····················entries[count]·=·-1.0·;\xd246 ·····················entries[count]·=·-1.0·;\xd
247 ·····················count++·;\xd247 ·····················count++·;\xd
248 ···················}\xd248 ···················}\xd
249 ···················InpMtx_inputRealRow(mtxA,·ij,·count,·indices,·entries)·;\xd249 ···················InpMtx_inputRealRow(mtxA,·ij,·count,·indices,·entries)·;\xd
250 ················}\xd250 ················}\xd
251 ·············}\xd251 ·············}\xd
252 ·············InpMtx_changeStorageMode(mtxA,·INPMTX_BY_VECTORS)·;\xd252 ·············InpMtx_changeStorageMode(mtxA,·INPMTX_BY_VECTORS)·;\xd
Offset 279, 15 lines modifiedOffset 279, 15 lines modified
279 ·············0,1,...,ncol−1.·The·entries·are·not·initialized.·Zero·the·entries·with·a·call·to·DenseMtx·zero().·(This·is\xd279 ·············0,1,...,ncol−1.·The·entries·are·not·initialized.·Zero·the·entries·with·a·call·to·DenseMtx·zero().·(This·is\xd
280 ·············crucial·when·loading·a·sparse·right·hand·side·into·the·DenseMtx·object.)\xd280 ·············crucial·when·loading·a·sparse·right·hand·side·into·the·DenseMtx·object.)\xd
281 ················Once·we·have·the·DenseMtx·object·initialized,·we·want·to·be·able·to·access·the·row·indices,·the·column\xd281 ················Once·we·have·the·DenseMtx·object·initialized,·we·want·to·be·able·to·access·the·row·indices,·the·column\xd
282 ·············indices·and·the·entries.·We·do·this·through·instance·methods.\xd282 ·············indices·and·the·entries.·We·do·this·through·instance·methods.\xd
283 ·············void·DenseMtx_rowIndices·(·DenseMtx·*mtx,·int·*pnrow,·int·*prowind·)·;\xd283 ·············void·DenseMtx_rowIndices·(·DenseMtx·*mtx,·int·*pnrow,·int·*prowind·)·;\xd
284 ·············void·DenseMtx_columnIndices·(·DenseMtx·*mtx,·int·*pncol,·int·*pcolind·)·;\xd284 ·············void·DenseMtx_columnIndices·(·DenseMtx·*mtx,·int·*pncol,·int·*pcolind·)·;\xd
285 ·············double·*·DenseMtx_entries·(·DenseMtx·*mtx·)·;\xd285 ·············double·*·DenseMtx_entries·(·DenseMtx·*mtx·)·;\xd
286 ·································SPOOLES·2.2·Wrapper·Objects·:···January·15,·2021·············9\xd286 ·································SPOOLES·2.2·Wrapper·Objects·:··February·18,·2022·············9\xd
287 ·············Wewould·use·them·as·follows.\xd287 ·············Wewould·use·them·as·follows.\xd
288 ·············double··*entries·;\xd288 ·············double··*entries·;\xd
289 ·············int·····ncol,·nrow,·*colind,·*rowind·;\xd289 ·············int·····ncol,·nrow,·*colind,·*rowind·;\xd
290 ·············DenseMtx_rowIndices(mtx,·&nrow,·&rowind)·;\xd290 ·············DenseMtx_rowIndices(mtx,·&nrow,·&rowind)·;\xd
291 ·············DenseMtx_columnIndices(mtx,·&ncol,·&colind)·;\xd291 ·············DenseMtx_columnIndices(mtx,·&ncol,·&colind)·;\xd
292 ·············entries·=·DenseMtx_entries(mtx)·;\xd292 ·············entries·=·DenseMtx_entries(mtx)·;\xd
293 ·············We·can·now·fill·the·indices·or·the·entries.·The·location·of·the·(irow,jcol)·entry·is·found·at·offset·=\xd293 ·············We·can·now·fill·the·indices·or·the·entries.·The·location·of·the·(irow,jcol)·entry·is·found·at·offset·=\xd
Offset 317, 42 lines modifiedOffset 317, 42 lines modified
317 ·············The·three·driver·programs·that·we·describe·in·the·next·sections·read·A·and·Y·from·files·and·write·X·to·a\xd317 ·············The·three·driver·programs·that·we·describe·in·the·next·sections·read·A·and·Y·from·files·and·write·X·to·a\xd
318 ·············file.·So·the·first·thing·we·know·is·that·the·InpMtx·and·DenseMtx·objects·can·read·and·write·themselves·from\xd318 ·············file.·So·the·first·thing·we·know·is·that·the·InpMtx·and·DenseMtx·objects·can·read·and·write·themselves·from\xd
319 ·············and·to·files.·This·convention·is·supported·by·most·of·the·objects·in·the·SPOOLES·library.·In·fact,·there\xd319 ·············and·to·files.·This·convention·is·supported·by·most·of·the·objects·in·the·SPOOLES·library.·In·fact,·there\xd
320 ·············is·a·common·protocol·that·is·followed.·Let·us·take·a·look·at·the·common·IO·methods·for·the·InpMtx.\xd320 ·············is·a·common·protocol·that·is·followed.·Let·us·take·a·look·at·the·common·IO·methods·for·the·InpMtx.\xd
321 ·················int·InpMtx·readFromFile·(·InpMtx·*obj,·char·*filename·)·;\xd321 ·················int·InpMtx·readFromFile·(·InpMtx·*obj,·char·*filename·)·;\xd
322 ·················int·InpMtx·readFromFormattedFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd322 ·················int·InpMtx·readFromFormattedFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd
323 ·················int·InpMtx·readFromBinaryFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd323 ·················int·InpMtx·readFromBinaryFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd
324 ·································SPOOLES·2.2·Wrapper·Objects·:··January·15,·2021·············10\xd324 ·······························SPOOLES2.2·Wrapper·Objects·:··February·18,·2022············10\xd
325 ·················int·InpMtx·writeToFile·(·InpMtx·*obj,·char·*filename·)·;\xd325 ················int·InpMtx·writeToFile·(·InpMtx·*obj,·char·*filename·)·;\xd
326 ·················int·InpMtx·writeToFormattedFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd326 ················int·InpMtx·writeToFormattedFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd
327 ·················int·InpMtx·writeToBinaryFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd327 ················int·InpMtx·writeToBinaryFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd
328 ·················int·InpMtx·writeForHumanEye·(·InpMtx·*obj,·FILE·*fp·)·;\xd328 ················int·InpMtx·writeForHumanEye·(·InpMtx·*obj,·FILE·*fp·)·;\xd
329 ·············There·are·corresponding·methods·for·the·DenseMtx·object,·just·replace·“Inp”·by·“Dense”·in·the·above\xd329 ·············There·are·corresponding·methods·for·the·DenseMtx·object,·just·replace·“Inp”·by·“Dense”·in·the·above\xd
330 ·············prototypes.\xd330 ·············prototypes.\xd
331 ················Two·methods·take·as·input·char·*·file·names.·Each·object·can·be·archived·in·its·own·file·with·a\xd331 ···············Two·methods·take·as·input·char·*·file·names.·Each·object·can·be·archived·in·its·own·file·with·a\xd
332 ·············particular·suffix.·For·example,·InpMtx·objects·can·be·read·from·and·written·to·files·of·the·form·*.inpmtxf\xd332 ·············particular·suffix.·For·example,·InpMtx·objects·can·be·read·from·and·written·to·files·of·the·form·*.inpmtxf\xd
333 ·············for·a·formatted·file·and·*.inpmtxb·for·a·binary·file.·For·a·DenseMtx·object,·the·file·names·are·*.densemtxf\xd333 ·············for·a·formatted·file·and·*.inpmtxb·for·a·binary·file.·For·a·DenseMtx·object,·the·file·names·are·*.densemtxf\xd
Max diff block lines reached; 129942/142636 bytes (91.10%) of diff not shown.
16.8 KB
./usr/share/doc/spooles-doc/Lock.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·1728711 gzip·compressed·data,·max·compression,·from·Unix,·original·size·173031
16.5 KB
Lock.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·612·7927 %%BoundingBox:·0·0·612·792
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10
9 %%DocumentPaperSizes:·Letter9 %%DocumentPaperSizes:·Letter
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·Lock.ps12 %DVIPSCommandLine:·dvips·main·-o·Lock.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1055, 19 lines modifiedOffset 1055, 20 lines modified
1055 end·readonly·def1055 end·readonly·def
1056 /Encoding·256·array1056 /Encoding·256·array
1057 0·1·255·{1·index·exch·/.notdef·put}·for1057 0·1·255·{1·index·exch·/.notdef·put}·for
1058 dup·44·/comma·put1058 dup·44·/comma·put
1059 dup·48·/zero·put1059 dup·48·/zero·put
1060 dup·49·/one·put1060 dup·49·/one·put
1061 dup·50·/two·put1061 dup·50·/two·put
1062 dup·53·/five·put1062 dup·56·/eight·put
1063 dup·58·/colon·put1063 dup·58·/colon·put
1064 dup·74·/J·put1064 dup·70·/F·put
1065 dup·97·/a·put1065 dup·97·/a·put
 1066 dup·98·/b·put
1066 dup·110·/n·put1067 dup·101·/e·put
1067 dup·114·/r·put1068 dup·114·/r·put
1068 dup·117·/u·put1069 dup·117·/u·put
1069 dup·121·/y·put1070 dup·121·/y·put
1070 readonly·def1071 readonly·def
1071 currentdict·end1072 currentdict·end
1072 currentfile·eexec1073 currentfile·eexec
1073 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71074 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1251, 84 lines modifiedOffset 1252, 86 lines modified
1251 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1252 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1252 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821253 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1253 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1254 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1254 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51255 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1255 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051256 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1256 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051257 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1257 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671258 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1258 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041259 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1259 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1260 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1261 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1262 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1263 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1264 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1265 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1266 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1267 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1268 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1269 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1270 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1271 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1272 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1273 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1274 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1275 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1276 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1277 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1278 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1279 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1280 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1281 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1282 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1283 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1284 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1285 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1286 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1287 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1288 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1289 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1290 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1291 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1292 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1293 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1294 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1295 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1296 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1297 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1298 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1299 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1300 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1301 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1302 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1303 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1304 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1305 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1306 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1307 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1308 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1309 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1310 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1311 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1312 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1313 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1314 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1315 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1316 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1317 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1318 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1319 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1320 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1321 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1322 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1323 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1324 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1325 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1326 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1327 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51260 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1261 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1262 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1263 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1264 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1265 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1266 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1267 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1268 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1269 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1270 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1271 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1272 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1273 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 3700/14848 bytes (24.92%) of diff not shown.
2.02 KB
ps2ascii {}
    
Offset 19, 15 lines modifiedOffset 19, 15 lines modified
19 ··············int·nlocks·:·number·of·locks·made.\xd19 ··············int·nlocks·:·number·of·locks·made.\xd
20 ··············int·nunlocks·:·number·of·unlocks·made.\xd20 ··············int·nunlocks·:·number·of·unlocks·made.\xd
21 ··············the·mutual·exclusion·lock\xd21 ··············the·mutual·exclusion·lock\xd
22 ···············For·Solaris·threads·we·have·mutex·t·*mutex.\xd22 ···············For·Solaris·threads·we·have·mutex·t·*mutex.\xd
23 ···············For·POSIX·threads·we·have·pthread·mutex·t·*mutex.\xd23 ···············For·POSIX·threads·we·have·pthread·mutex·t·*mutex.\xd
24 ···············For·no·threads·we·have·void·*mutex.\xd24 ···············For·no·threads·we·have·void·*mutex.\xd
25 ·············································1\xd25 ·············································1\xd
26 ··············2····························Lock·:·DRAFT·January·15,·2021\xd26 ··············2····························Lock·:·DRAFT·February·18,·2022\xd
27 ··············1.2···Prototypes·and·descriptions·of·Lock·methods\xd27 ··············1.2···Prototypes·and·descriptions·of·Lock·methods\xd
28 ··············1.2.1··Basic·methods\xd28 ··············1.2.1··Basic·methods\xd
29 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd29 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
30 ··············any·allocated·data,·and·free’ing·the·object.\xd30 ··············any·allocated·data,·and·free’ing·the·object.\xd
31 ················1.·Lock·*·Lock_new·(·void·)·;\xd31 ················1.·Lock·*·Lock_new·(·void·)·;\xd
32 ··················This·method·simply·allocates·storage·for·the·Lock·structure·and·then·sets·the·default·fields\xd32 ··················This·method·simply·allocates·storage·for·the·Lock·structure·and·then·sets·the·default·fields\xd
33 ··················by·a·call·to·Lock·setDefaultFields().\xd33 ··················by·a·call·to·Lock·setDefaultFields().\xd
Offset 53, 15 lines modifiedOffset 53, 15 lines modified
53 ··················thread·package,·lockflag·!=·0·means·the·lock·will·be·initialized·to·synchronize·only·threads\xd53 ··················thread·package,·lockflag·!=·0·means·the·lock·will·be·initialized·to·synchronize·only·threads\xd
54 ··················in·this·process.\xd54 ··················in·this·process.\xd
55 ··················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd55 ··················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
56 ··············1.2.3··Utility·methods\xd56 ··············1.2.3··Utility·methods\xd
57 ················1.·void·Lock_lock·(·Lock·*lock·)·;\xd57 ················1.·void·Lock_lock·(·Lock·*lock·)·;\xd
58 ··················This·method·locks·the·lock.\xd58 ··················This·method·locks·the·lock.\xd
59 ··················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd59 ··················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
60 ······································Lock·:·DRAFT··January·15,·2021····················3\xd60 ······································Lock·:·DRAFT··February·18,·2022···················3\xd
61 ··············2.·void·Lock_unlock·(·Lock·*lock·)·;\xd61 ··············2.·void·Lock_unlock·(·Lock·*lock·)·;\xd
62 ·················This·method·unlocks·the·lock.\xd62 ·················This·method·unlocks·the·lock.\xd
63 ·················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd63 ·················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
64 ·······Index\xd64 ·······Index\xd
65 ·······Lock·clearData(),·2\xd65 ·······Lock·clearData(),·2\xd
66 ·······Lock·free(),·2\xd66 ·······Lock·free(),·2\xd
67 ·······Lock·init(),·2\xd67 ·······Lock·init(),·2\xd
82.5 KB
./usr/share/doc/spooles-doc/MPI.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3793771 gzip·compressed·data,·max·compression,·from·Unix,·original·size·379627
82.2 KB
MPI.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTI10·CMTT10·CMMI10·CMMI7·CMSY108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTI10·CMTT10·CMMI10·CMMI7·CMSY10
9 %%+·CMBX10·CMSL10·CMEX109 %%+·CMBX10·CMSL10·CMEX10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·MPI.ps13 %DVIPSCommandLine:·dvips·main·-o·MPI.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 481, 19 lines modifiedOffset 481, 20 lines modified
481 end·readonly·def481 end·readonly·def
482 /Encoding·256·array482 /Encoding·256·array
483 0·1·255·{1·index·exch·/.notdef·put}·for483 0·1·255·{1·index·exch·/.notdef·put}·for
484 dup·44·/comma·put484 dup·44·/comma·put
485 dup·48·/zero·put485 dup·48·/zero·put
486 dup·49·/one·put486 dup·49·/one·put
487 dup·50·/two·put487 dup·50·/two·put
488 dup·53·/five·put488 dup·56·/eight·put
489 dup·58·/colon·put489 dup·58·/colon·put
490 dup·74·/J·put490 dup·70·/F·put
491 dup·97·/a·put491 dup·97·/a·put
 492 dup·98·/b·put
492 dup·110·/n·put493 dup·101·/e·put
493 dup·114·/r·put494 dup·114·/r·put
494 dup·117·/u·put495 dup·117·/u·put
495 dup·121·/y·put496 dup·121·/y·put
496 readonly·def497 readonly·def
497 currentdict·end498 currentdict·end
498 currentfile·eexec499 currentfile·eexec
499 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7500 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 677, 84 lines modifiedOffset 678, 86 lines modified
677 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A678 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
678 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082679 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
679 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E680 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
680 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5681 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
681 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05682 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
682 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05683 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
683 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767684 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
684 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704685 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
685 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
686 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
687 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
688 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
689 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
690 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
691 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
692 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
693 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
694 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
695 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
696 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
697 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
698 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
699 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
700 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
701 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
702 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
703 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
704 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
705 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
706 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
707 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
708 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
709 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
710 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
711 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
712 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
713 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
714 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
715 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
716 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
717 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
718 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
719 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
720 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
721 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
722 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
723 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
724 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
725 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
726 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
727 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
728 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
729 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
730 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
731 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
732 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
733 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
734 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
735 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
736 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
737 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
738 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
739 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
740 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
741 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
742 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
743 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
744 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
745 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
746 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
747 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
748 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
749 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
750 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
751 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
752 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
753 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5686 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 687 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 688 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 689 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 690 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 691 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 692 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 693 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 694 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 695 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 696 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 697 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 698 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 699 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 43840/54983 bytes (79.73%) of diff not shown.
28.5 KB
ps2ascii {}
    
Offset 31, 15 lines modifiedOffset 31, 15 lines modified
31 ·················scatter/added·into·Y.\xd31 ·················scatter/added·into·Y.\xd
32 ····················TheMatMulInfoobjectstoresallthenecessaryinformationtomakethishappen.·ThereisoneMatMulInfo\xd32 ····················TheMatMulInfoobjectstoresallthenecessaryinformationtomakethishappen.·ThereisoneMatMulInfo\xd
33 ·················object·per·processor.·It·has·the·following·fields.\xd33 ·················object·per·processor.·It·has·the·following·fields.\xd
34 ·····················symflag··symmetry·flag·for·A\xd34 ·····················symflag··symmetry·flag·for·A\xd
35 ··························0·(SPOOLES·SYMMETRIC)··symmetric·matrix\xd35 ··························0·(SPOOLES·SYMMETRIC)··symmetric·matrix\xd
36 ··························1·(SPOOLES·HERMITIAN)··hermitian·matrix\xd36 ··························1·(SPOOLES·HERMITIAN)··hermitian·matrix\xd
37 ·····································································1\xd37 ·····································································1\xd
38 ·················2······································MPI·:·DRAFT·January·15,·2021\xd38 ·················2······································MPI·:·DRAFT·February·18,·2022\xd
39 ··························2·(SPOOLES·NONSYMMETRIC)··nonsymmetric·matrix\xd39 ··························2·(SPOOLES·NONSYMMETRIC)··nonsymmetric·matrix\xd
40 ·····················opflag··operation·flag·for·the·multiply\xd40 ·····················opflag··operation·flag·for·the·multiply\xd
41 ··························0·(MMM·WITH·A)··perform·Y·:=·Y·+αAX\xd41 ··························0·(MMM·WITH·A)··perform·Y·:=·Y·+αAX\xd
42 ··························1·(MMM·WITH·AT)··perform·Y·:=·Y·+αATX\xd42 ··························1·(MMM·WITH·AT)··perform·Y·:=·Y·+αATX\xd
43 ··························2·(MMM·WITH·AH)··perform·Y·:=·Y·+αAHX\xd43 ··························2·(MMM·WITH·AH)··perform·Y·:=·Y·+αAHX\xd
44 ·····················IV·*XownedIV··list·of·rows·of·X·that·are·owned·by·this·processor,·these·form·the·rows·of·Xq.\xd44 ·····················IV·*XownedIV··list·of·rows·of·X·that·are·owned·by·this·processor,·these·form·the·rows·of·Xq.\xd
45 ·····················IV·*XsupIV··list·of·rows·of·X·that·are·accessed·by·this·processor,·these·form·the·rows·of·Xq\xd45 ·····················IV·*XsupIV··list·of·rows·of·X·that·are·accessed·by·this·processor,·these·form·the·rows·of·Xq\xd
Offset 73, 15 lines modifiedOffset 73, 15 lines modified
73 ·················In·a·distributed·environment,·data·must·be·distributed,·and·sometimes·during·a·computation,·data·must·be\xd73 ·················In·a·distributed·environment,·data·must·be·distributed,·and·sometimes·during·a·computation,·data·must·be\xd
74 ·················re-distributed.·These·methods·split·and·redistribute·four·data·objects.\xd74 ·················re-distributed.·These·methods·split·and·redistribute·four·data·objects.\xd
75 ····················1.·void·DenseMtx_MPI_splitByRows·(·DenseMtx·*mtx,·IV·*mapIV,·int·stats[],·int·msglvl,\xd75 ····················1.·void·DenseMtx_MPI_splitByRows·(·DenseMtx·*mtx,·IV·*mapIV,·int·stats[],·int·msglvl,\xd
76 ·····························································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd76 ·····························································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd
77 ·······················This·method·splits·and·redistributes·the·DenseMtx·object·based·on·the·mapIV·object·that·maps·rows·to\xd77 ·······················This·method·splits·and·redistributes·the·DenseMtx·object·based·on·the·mapIV·object·that·maps·rows·to\xd
78 ·······················processes.·The·messages·that·will·be·sent·require·nproc·consecutive·tags··the·first·is·the·parameter\xd78 ·······················processes.·The·messages·that·will·be·sent·require·nproc·consecutive·tags··the·first·is·the·parameter\xd
79 ·······················firsttag.·On·return,·the·stats[]·vector·contains·the·following·information.\xd79 ·······················firsttag.·On·return,·the·stats[]·vector·contains·the·following·information.\xd
80 ············································MPI·:·DRAFT··January·15,·2021·························3\xd80 ············································MPI·:·DRAFT··February·18,·2022························3\xd
81 ··························stats[0]··#ofmessagessent··········stats[1]···#ofbytessent\xd81 ··························stats[0]··#ofmessagessent··········stats[1]···#ofbytessent\xd
82 ··························stats[2]··#ofmessagesreceived······stats[3]···#ofbytesreceived\xd82 ··························stats[2]··#ofmessagesreceived······stats[3]···#ofbytesreceived\xd
83 ··················Note,·the·values·in·stats[]·are·incremented,·i.e.,·the·stats[]·vector·is·not·zeroed·at·the·start·of·the\xd83 ··················Note,·the·values·in·stats[]·are·incremented,·i.e.,·the·stats[]·vector·is·not·zeroed·at·the·start·of·the\xd
84 ··················method,·and·so·can·be·used·to·accumulated·information·with·multiple·calls.\xd84 ··················method,·and·so·can·be·used·to·accumulated·information·with·multiple·calls.\xd
85 ··················Error·checking:·If·mtx·or·rowmapIV·is·NULL,·or·if·msglvl·>·0·and·msgFile·is·NULL,·or·if·firsttag·<\xd85 ··················Error·checking:·If·mtx·or·rowmapIV·is·NULL,·or·if·msglvl·>·0·and·msgFile·is·NULL,·or·if·firsttag·<\xd
86 ··················0·or·firsttag·+·nproc·is·larger·than·the·largest·available·tag,·an·error·message·is·printed·and·the\xd86 ··················0·or·firsttag·+·nproc·is·larger·than·the·largest·available·tag,·an·error·message·is·printed·and·the\xd
87 ··················program·exits.\xd87 ··················program·exits.\xd
Offset 117, 15 lines modifiedOffset 117, 15 lines modified
117 ··················use·the·chevron·coordinate·type·to·store·the·matrix·entries.·This·method·will·redistribute·a·matrix\xd117 ··················use·the·chevron·coordinate·type·to·store·the·matrix·entries.·This·method·will·redistribute·a·matrix\xd
118 ··················by·rows·if·the·coordinate·type·is·1·(for·rows)·and·mapIV·is·a·row·map.·Similarly,·this·method·will\xd118 ··················by·rows·if·the·coordinate·type·is·1·(for·rows)·and·mapIV·is·a·row·map.·Similarly,·this·method·will\xd
119 ··················redistribute·a·matrix·by·columns·if·the·coordinate·type·is·2·(for·columns)·and·mapIV·is·a·column·map.\xd119 ··················redistribute·a·matrix·by·columns·if·the·coordinate·type·is·2·(for·columns)·and·mapIV·is·a·column·map.\xd
120 ··················See·the·InpMtx·object·for·details.·The·messages·that·will·be·sent·require·nproc·consecutive·tags··the\xd120 ··················See·the·InpMtx·object·for·details.·The·messages·that·will·be·sent·require·nproc·consecutive·tags··the\xd
121 ··················first·is·the·parameter·firsttag.·On·return,·the·stats[]·vector·contains·the·following·information.\xd121 ··················first·is·the·parameter·firsttag.·On·return,·the·stats[]·vector·contains·the·following·information.\xd
122 ··························stats[0]··#ofmessagessent··········stats[1]···#ofbytessent\xd122 ··························stats[0]··#ofmessagessent··········stats[1]···#ofbytessent\xd
123 ··························stats[2]··#ofmessagesreceived······stats[3]···#ofbytesreceived\xd123 ··························stats[2]··#ofmessagesreceived······stats[3]···#ofbytesreceived\xd
124 ··············4································MPI·:·DRAFT·January·15,·2021\xd124 ··············4·······························MPI·:·DRAFT·February·18,·2022\xd
125 ···················Note,·the·values·in·stats[]·are·incremented,·i.e.,·the·stats[]·vector·is·not·zeroed·at·the·start·of·the\xd125 ···················Note,·the·values·in·stats[]·are·incremented,·i.e.,·the·stats[]·vector·is·not·zeroed·at·the·start·of·the\xd
126 ···················method,·and·so·can·be·used·to·accumulated·information·with·multiple·calls.\xd126 ···················method,·and·so·can·be·used·to·accumulated·information·with·multiple·calls.\xd
127 ···················Error·checking:·If·firsttag·<·0·or·firsttag·+·nproc·is·larger·than·the·largest·available·tag,·an\xd127 ···················Error·checking:·If·firsttag·<·0·or·firsttag·+·nproc·is·larger·than·the·largest·available·tag,·an\xd
128 ···················error·message·is·printed·and·the·program·exits.\xd128 ···················error·message·is·printed·and·the·program·exits.\xd
129 ················5.·InpMtx·*·InpMtx_MPI_splitFromGlobal·(·InpMtx·*Aglobal,·InpMtx·*Alocal,\xd129 ················5.·InpMtx·*·InpMtx_MPI_splitFromGlobal·(·InpMtx·*Aglobal,·InpMtx·*Alocal,\xd
130 ·························································IV·*mapIV,·int·root,·int·stats[],·int·msglvl,\xd130 ·························································IV·*mapIV,·int·root,·int·stats[],·int·msglvl,\xd
131 ·························································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd131 ·························································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd
Offset 158, 15 lines modifiedOffset 158, 15 lines modified
158 ···················knownpriortoenteringthis·method.·Onreturn,·the·stats[]vectorcontainsthe·followinginformation.\xd158 ···················knownpriortoenteringthis·method.·Onreturn,·the·stats[]vectorcontainsthe·followinginformation.\xd
159 ···························stats[0]···#ofmessagessent···········stats[1]···#ofbytessent\xd159 ···························stats[0]···#ofmessagessent···········stats[1]···#ofbytessent\xd
160 ···························stats[2]···#ofmessagesreceived·······stats[3]···#ofbytesreceived\xd160 ···························stats[2]···#ofmessagesreceived·······stats[3]···#ofbytesreceived\xd
161 ···················Note,·the·values·in·stats[]·are·incremented,·i.e.,·the·stats[]·vector·is·not·zeroed·at·the·start·of·the\xd161 ···················Note,·the·values·in·stats[]·are·incremented,·i.e.,·the·stats[]·vector·is·not·zeroed·at·the·start·of·the\xd
162 ···················method,·and·so·can·be·used·to·accumulated·information·with·multiple·calls.\xd162 ···················method,·and·so·can·be·used·to·accumulated·information·with·multiple·calls.\xd
163 ···················Error·checking:·If·mtx·or·rowmapIV·is·NULL,·or·if·msglvl·>·0·and·msgFile·is·NULL,·or·if·firsttag·<\xd163 ···················Error·checking:·If·mtx·or·rowmapIV·is·NULL,·or·if·msglvl·>·0·and·msgFile·is·NULL,·or·if·firsttag·<\xd
164 ···················0·is·larger·than·the·largest·available·tag,·an·error·message·is·printed·and·the·program·exits.\xd164 ···················0·is·larger·than·the·largest·available·tag,·an·error·message·is·printed·and·the·program·exits.\xd
165 ························································MPI·:·DRAFT······January·15,·2021···································5\xd165 ·······················································MPI·:·DRAFT······February·18,·2022···································5\xd
166 ·················1.2.2·····Gather·and·scatter·methods\xd166 ·················1.2.2·····Gather·and·scatter·methods\xd
167 ·················These·method·gather·and·scatter/add·rows·of·DenseMtx·objects.·These·operations·are·performed·during·the\xd167 ·················These·method·gather·and·scatter/add·rows·of·DenseMtx·objects.·These·operations·are·performed·during·the\xd
168 ·················distributed·matrix-matrixmultiply.·ThegatheroperationXq·········←XisperformedbyDenseMtx·MPI·gatherRows(),\xd168 ·················distributed·matrix-matrixmultiply.·ThegatheroperationXq·········←XisperformedbyDenseMtx·MPI·gatherRows(),\xd
169 ······························································P·············supp\xd169 ······························································P·············supp\xd
170 ·················while·the·scatter/add·operation·Y·q·:=·Y·q·+·····Yr····is·performed·by·DenseMtx·MPI·scatterAddRows().\xd170 ·················while·the·scatter/add·operation·Y·q·:=·Y·q·+·····Yr····is·performed·by·DenseMtx·MPI·scatterAddRows().\xd
171 ································································r··supp\xd171 ································································r··supp\xd
172 ····················1.·void·DenseMtx_MPI_gatherRows·(·DenseMtx·*Y,·DenseMtx·*X,·IVL·*sendIVL,\xd172 ····················1.·void·DenseMtx_MPI_gatherRows·(·DenseMtx·*Y,·DenseMtx·*X,·IVL·*sendIVL,\xd
Offset 202, 15 lines modifiedOffset 202, 15 lines modified
202 ·················1.2.3·····Symbolic·Factorization·methods\xd202 ·················1.2.3·····Symbolic·Factorization·methods\xd
203 ····················1.·IVL·*·SymbFac_MPI_initFromInpMtx·(·ETree·*etree,·IV·*frontOwnersIV,\xd203 ····················1.·IVL·*·SymbFac_MPI_initFromInpMtx·(·ETree·*etree,·IV·*frontOwnersIV,\xd
204 ·································································InpMtx·*inpmtx,·int·stats[],·int·msglvl,\xd204 ·································································InpMtx·*inpmtx,·int·stats[],·int·msglvl,\xd
205 ·································································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd205 ·································································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd
206 ·······················IVL·*·SymbFac_MPI_initFromPencil·(·ETree·*etree,·IV·*frontOwnersIV,\xd206 ·······················IVL·*·SymbFac_MPI_initFromPencil·(·ETree·*etree,·IV·*frontOwnersIV,\xd
207 ·································································Pencil·*pencil,·int·stats[],·int·msglvl,\xd207 ·································································Pencil·*pencil,·int·stats[],·int·msglvl,\xd
208 ·································································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd208 ·································································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd
209 ················6·····································MPI·:·DRAFT·January·15,·2021\xd209 ················6····································MPI·:·DRAFT·February·18,·2022\xd
210 ······················ThesemethodsareusedinplaceoftheSymbfac·initFrom{InpMtx,Pencil}()methodstocomputethe\xd210 ······················ThesemethodsareusedinplaceoftheSymbfac·initFrom{InpMtx,Pencil}()methodstocomputethe\xd
211 ······················symbolic·factorization.·The·ETree·object·is·assumed·to·be·replicated·over·the·processes.·The·InpMtx\xd211 ······················symbolic·factorization.·The·ETree·object·is·assumed·to·be·replicated·over·the·processes.·The·InpMtx\xd
212 ······················and·Pencil·objects·are·partitioned·among·the·processes.·Therefore,·to·compute·the·IVL·object·that\xd212 ······················and·Pencil·objects·are·partitioned·among·the·processes.·Therefore,·to·compute·the·IVL·object·that\xd
213 ······················contains·the·symbolic·factorization·is·a·distributed,·cooperative·process.·At·the·end·of·the·symbolic\xd213 ······················contains·the·symbolic·factorization·is·a·distributed,·cooperative·process.·At·the·end·of·the·symbolic\xd
214 ······················factorization,·each·process·will·own·a·portion·of·the·IVL·object.·The·IVL·object·is·neither·replicated\xd214 ······················factorization,·each·process·will·own·a·portion·of·the·IVL·object.·The·IVL·object·is·neither·replicated\xd
215 ······················nor·partitioned·(except·in·trivial·cases),·but·the·IVL·object·on·each·process·contains·just·a·portion,\xd215 ······················nor·partitioned·(except·in·trivial·cases),·but·the·IVL·object·on·each·process·contains·just·a·portion,\xd
216 ······················usually·not·much·more·than·what·it·needs·to·know·for·its·part·of·the·factorization·and·solves.\xd216 ······················usually·not·much·more·than·what·it·needs·to·know·for·its·part·of·the·factorization·and·solves.\xd
Offset 247, 15 lines modifiedOffset 247, 15 lines modified
247 ·····························cpus[0]······initialize·fronts···········cpus[7]·······extract·postponed·data\xd247 ·····························cpus[0]······initialize·fronts···········cpus[7]·······extract·postponed·data\xd
248 ·····························cpus[1]······load·original·entries·······cpus[8]·······store·factor·entries\xd248 ·····························cpus[1]······load·original·entries·······cpus[8]·······store·factor·entries\xd
249 ·····························cpus[2]······update·fronts···············cpus[9]·······post·initial·receives\xd249 ·····························cpus[2]······update·fronts···············cpus[9]·······post·initial·receives\xd
250 ·····························cpus[3]······insert·aggregate·data······cpus[10]·······check·for·received·messages\xd250 ·····························cpus[3]······insert·aggregate·data······cpus[10]·······check·for·received·messages\xd
251 ·····························cpus[4]······assemble·aggregate·data····cpus[11]·······post·initial·sends\xd251 ·····························cpus[4]······assemble·aggregate·data····cpus[11]·······post·initial·sends\xd
252 ·····························cpus[5]······assemble·postponed·data····cpus[12]·······check·for·sent·messages\xd252 ·····························cpus[5]······assemble·postponed·data····cpus[12]·······check·for·sent·messages\xd
253 ·····························cpus[6]······factor·fronts\xd253 ·····························cpus[6]······factor·fronts\xd
254 ············································MPI·:·DRAFT··January·15,·2021·························7\xd254 ············································MPI·:·DRAFT··February·18,·2022························7\xd
255 ··················Onreturn,·the·stats[]·vector·has·the·following·information.\xd255 ··················Onreturn,·the·stats[]·vector·has·the·following·information.\xd
256 ···································stats[0]···#ofpivots\xd256 ···································stats[0]···#ofpivots\xd
257 ···································stats[1]···#ofpivot·tests\xd257 ···································stats[1]···#ofpivot·tests\xd
258 ···································stats[2]···#ofdelayed·rows·and·columns\xd258 ···································stats[2]···#ofdelayed·rows·and·columns\xd
259 ···································stats[3]···#ofentries·in·D\xd259 ···································stats[3]···#ofentries·in·D\xd
260 ···································stats[4]···#ofentries·in·L\xd260 ···································stats[4]···#ofentries·in·L\xd
261 ···································stats[5]···#ofentries·in·U\xd261 ···································stats[5]···#ofentries·in·U\xd
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ··················Error·checking:·If·frontmtx,·frontOwnersIV·or·stats·is·NULL,·or·if·firsttag·<·0·or·firsttag·+\xd293 ··················Error·checking:·If·frontmtx,·frontOwnersIV·or·stats·is·NULL,·or·if·firsttag·<·0·or·firsttag·+\xd
294 ··················nproc,·is·larger·than·the·largest·available·tag,·or·if·msglvl·>·0·and·msgFile·is·NULL,·an·error·message\xd294 ··················nproc,·is·larger·than·the·largest·available·tag,·or·if·msglvl·>·0·and·msgFile·is·NULL,·an·error·message\xd
295 ··················is·printed·and·the·program·exits.\xd295 ··················is·printed·and·the·program·exits.\xd
296 ················3.·void·IV_MPI_allgather·(·IV·*iv,·IV·*ownersIV,·int·stats[],·int·msglvl,\xd296 ················3.·void·IV_MPI_allgather·(·IV·*iv,·IV·*ownersIV,·int·stats[],·int·msglvl,\xd
297 ·········································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd297 ·········································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd
298 ··················After·a·factorization·with·pivoting,·the·frontsizesIVobject·needs·to·be·made·globalon·eachprocessor.\xd298 ··················After·a·factorization·with·pivoting,·the·frontsizesIVobject·needs·to·be·made·globalon·eachprocessor.\xd
299 ··················This·methods·takes·the·individual·entries·of·an·IV·object·whose·owners·are·specified·by·the·ownersIV\xd299 ··················This·methods·takes·the·individual·entries·of·an·IV·object·whose·owners·are·specified·by·the·ownersIV\xd
300 ···············8··································MPI·:·DRAFT·January·15,·2021\xd300 ···············8··································MPI·:·DRAFT·February·18,·2022\xd
301 ····················object,·and·communicates·the·entries·around·the·processors·until·the·global·IV·object·is·present·on\xd301 ····················object,·and·communicates·the·entries·around·the·processors·until·the·global·IV·object·is·present·on\xd
302 ····················each.·The·messagesthat·will·be·sent·require·at·most·nprocconsecutive·tags··the·first·is·the·parameter\xd302 ····················each.·The·messagesthat·will·be·sent·require·at·most·nprocconsecutive·tags··the·first·is·the·parameter\xd
303 ····················firsttag.\xd303 ····················firsttag.\xd
304 ····················Error·checking:·If·iv,·ownersIV·or·stats·is·NULL,·or·if·firsttag·<·0·or·firsttag·+·nproc,·is·larger\xd304 ····················Error·checking:·If·iv,·ownersIV·or·stats·is·NULL,·or·if·firsttag·<·0·or·firsttag·+·nproc,·is·larger\xd
305 ····················than·the·largest·available·tag,·or·if·msglvl·>·0·and·msgFile·is·NULL,·an·error·message·is·printed·and\xd305 ····················than·the·largest·available·tag,·or·if·msglvl·>·0·and·msgFile·is·NULL,·an·error·message·is·printed·and\xd
306 ····················the·program·exits.\xd306 ····················the·program·exits.\xd
307 ··················4.·void·IVL_MPI_allgather·(·IVL·*ivl,·IV·*ownersIV,·int·stats[],·int·msglvl,\xd307 ··················4.·void·IVL_MPI_allgather·(·IVL·*ivl,·IV·*ownersIV,·int·stats[],·int·msglvl,\xd
Offset 334, 15 lines modifiedOffset 334, 15 lines modified
334 ···········································stats[4]····#ofsolution·messages·received\xd334 ···········································stats[4]····#ofsolution·messages·received\xd
335 ···········································stats[5]····#ofaggregatemessages·received\xd335 ···········································stats[5]····#ofaggregatemessages·received\xd
336 ···········································stats[6]····#ofsolution·bytes·received\xd336 ···········································stats[6]····#ofsolution·bytes·received\xd
337 ···········································stats[7]····#ofaggregatebytes·received\xd337 ···········································stats[7]····#ofaggregatebytes·received\xd
338 ····················Error·checking:·If·frontmtx,·mtxX,mtxB,·mtxmanager,solvemap,cpusorstatsisNULL,oriffirsttag\xd338 ····················Error·checking:·If·frontmtx,·mtxX,mtxB,·mtxmanager,solvemap,cpusorstatsisNULL,oriffirsttag\xd
339 ····················<·0·or·firsttag·+·2*nfront·is·larger·than·the·largest·available·tag,·or·if·msglvl·>·0·and·msgFile\xd339 ····················<·0·or·firsttag·+·2*nfront·is·larger·than·the·largest·available·tag,·or·if·msglvl·>·0·and·msgFile\xd
340 ····················is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd340 ····················is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
341 ············································MPI·:·DRAFT··January·15,·2021·························9\xd341 ············································MPI·:·DRAFT··February·18,·2022························9\xd
342 ··············1.2.7··Matrix-matrix·multiply·methods\xd342 ··············1.2.7··Matrix-matrix·multiply·methods\xd
343 ··············The·usual·sequence·of·events·is·as·follows.\xd343 ··············The·usual·sequence·of·events·is·as·follows.\xd
344 ·················Set·up·the·data·structure·via·a·call·to·MatMul·MPI·setup().\xd344 ·················Set·up·the·data·structure·via·a·call·to·MatMul·MPI·setup().\xd
345 ·················Convert·the·local·Aq·matrix·to·local·indices·via·a·call·to·MatMul·setLocalIndices().\xd345 ·················Convert·the·local·Aq·matrix·to·local·indices·via·a·call·to·MatMul·setLocalIndices().\xd
346 ·················Compute·the·matrix-matrix·multiply·with·a·call·to·MatMul·MPI·mmm().·Inside·this·method,·the·MPI\xd346 ·················Compute·the·matrix-matrix·multiply·with·a·call·to·MatMul·MPI·mmm().·Inside·this·method,·the·MPI\xd
347 ··················methods·DenseMtx·MPI·gatherRows()and·DenseMtx·MPI·scatterAddRows()are·called,·along·with·a\xd347 ··················methods·DenseMtx·MPI·gatherRows()and·DenseMtx·MPI·scatterAddRows()are·called,·along·with·a\xd
348 ··················serial·InpMtx·matrix-matrix·multiply·method.\xd348 ··················serial·InpMtx·matrix-matrix·multiply·method.\xd
Max diff block lines reached; 16647/29204 bytes (57.00%) of diff not shown.
53.8 KB
./usr/share/doc/spooles-doc/MSMD.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3443761 gzip·compressed·data,·max·compression,·from·Unix,·original·size·344592
53.6 KB
MSMD.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMR8·CMTI10·CMMI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMR8·CMTI10·CMMI10
9 %%+·CMBX10·CMR6·CMR9·CMTT9·CMSL109 %%+·CMBX10·CMR6·CMR9·CMTT9·CMSL10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·MSMD.ps13 %DVIPSCommandLine:·dvips·main·-o·MSMD.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 769, 19 lines modifiedOffset 769, 20 lines modified
769 end·readonly·def769 end·readonly·def
770 /Encoding·256·array770 /Encoding·256·array
771 0·1·255·{1·index·exch·/.notdef·put}·for771 0·1·255·{1·index·exch·/.notdef·put}·for
772 dup·44·/comma·put772 dup·44·/comma·put
773 dup·48·/zero·put773 dup·48·/zero·put
774 dup·49·/one·put774 dup·49·/one·put
775 dup·50·/two·put775 dup·50·/two·put
776 dup·53·/five·put776 dup·56·/eight·put
777 dup·58·/colon·put777 dup·58·/colon·put
778 dup·74·/J·put778 dup·70·/F·put
779 dup·97·/a·put779 dup·97·/a·put
 780 dup·98·/b·put
780 dup·110·/n·put781 dup·101·/e·put
781 dup·114·/r·put782 dup·114·/r·put
782 dup·117·/u·put783 dup·117·/u·put
783 dup·121·/y·put784 dup·121·/y·put
784 readonly·def785 readonly·def
785 currentdict·end786 currentdict·end
786 currentfile·eexec787 currentfile·eexec
787 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7788 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 965, 84 lines modifiedOffset 966, 86 lines modified
965 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A966 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
966 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082967 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
967 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E968 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
968 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5969 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
969 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05970 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
970 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05971 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
971 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767972 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
972 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704973 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
973 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
974 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
975 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
976 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
977 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
978 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
979 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
980 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
981 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
982 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
983 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
984 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
985 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
986 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
987 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
988 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
989 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
990 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
991 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
992 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
993 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
994 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
995 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
996 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
997 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
998 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
999 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1000 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1001 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1002 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1003 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1004 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1005 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1006 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1007 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1008 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1009 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1010 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1011 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1012 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1013 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1014 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1015 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1016 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1017 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1018 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1019 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1020 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1021 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1022 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1023 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1024 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1025 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1026 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1027 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1028 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1029 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1030 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1031 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1032 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1033 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1034 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1035 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1036 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1037 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1038 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1039 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1040 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1041 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5974 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 975 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 976 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 977 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 978 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 979 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 980 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 981 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 982 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 983 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 984 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 985 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 986 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 987 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 28602/39754 bytes (71.95%) of diff not shown.
14.7 KB
ps2ascii {}
    
Offset 21, 15 lines modifiedOffset 21, 15 lines modified
21 ·····················approximate·external·degree,·(d·from·[?])·and·[?],·or\xd21 ·····················approximate·external·degree,·(d·from·[?])·and·[?],·or\xd
22 ······························································˜\xd22 ······························································˜\xd
23 ·····················half·external·and·half·approximate,·(d·from·[?]),·or\xd23 ·····················half·external·and·half·approximate,·(d·from·[?]),·or\xd
24 ·····················a·constant·priority·(to·induce·maximal·independent·set·elimination).\xd24 ·····················a·constant·priority·(to·induce·maximal·independent·set·elimination).\xd
25 ···················1The·ETree·object·has·the·Tree·object·that·defines·the·connectivity·of·the·fronts,·knows·the·internal·and·external\xd25 ···················1The·ETree·object·has·the·Tree·object·that·defines·the·connectivity·of·the·fronts,·knows·the·internal·and·external\xd
26 ················size·of·each·front,·and·has·a·map·from·the·vertices·to·the·fronts.\xd26 ················size·of·each·front,·and·has·a·map·from·the·vertices·to·the·fronts.\xd
27 ···································································1\xd27 ···································································1\xd
28 ···········2·······················MSMD·:·DRAFT·January·15,·2021\xd28 ···········2·······················MSMD·:·DRAFT·February·18,·2022\xd
29 ···········We·intend·to·add·more·priorities,·e.g.,·approximate·deficiency·from·[?],·[?]·and·[?].\xd29 ···········We·intend·to·add·more·priorities,·e.g.,·approximate·deficiency·from·[?],·[?]·and·[?].\xd
30 ··············Choose·a·priority,·then·specify·the·definition·of·a·step,·how·to·choose·an·independent·set·of\xd30 ··············Choose·a·priority,·then·specify·the·definition·of·a·step,·how·to·choose·an·independent·set·of\xd
31 ···········vertices·to·eliminate·at·a·time.·Then·provide·a·map·from·each·vertex·to·the·stage·at·which·it·will\xd31 ···········vertices·to·eliminate·at·a·time.·Then·provide·a·map·from·each·vertex·to·the·stage·at·which·it·will\xd
32 ···········be·eliminated.\xd32 ···········be·eliminated.\xd
33 ··············Presently·there·is·one·ordering·method,·MSMD·order().·It·orders·the·vertices·by·stages,·i.e.\xd33 ··············Presently·there·is·one·ordering·method,·MSMD·order().·It·orders·the·vertices·by·stages,·i.e.\xd
34 ···········vertices·in·stage·k·will·be·ordered·before·vertices·in·stage·k·+·1.·Inside·each·stage·the·vertices·are\xd34 ···········vertices·in·stage·k·will·be·ordered·before·vertices·in·stage·k·+·1.·Inside·each·stage·the·vertices·are\xd
35 ···········ordered·by·steps.·At·each·step·an·independent·set·of·vertices·is·eliminated,·and·the·choice·is·based\xd35 ···········ordered·by·steps.·At·each·step·an·independent·set·of·vertices·is·eliminated,·and·the·choice·is·based\xd
Offset 57, 15 lines modifiedOffset 57, 15 lines modified
57 ···········The·tools·are·largely·written·so·any·of·these·three·algorithms·can·be·prototyped·in·a·small·amount\xd57 ···········The·tools·are·largely·written·so·any·of·these·three·algorithms·can·be·prototyped·in·a·small·amount\xd
58 ···········of·time·and·effort.\xd58 ···········of·time·and·effort.\xd
59 ···········1.1··Data·Structure\xd59 ···········1.1··Data·Structure\xd
60 ···········There·are·four·typed·objects.\xd60 ···········There·are·four·typed·objects.\xd
61 ··············MSMD·:·the·main·object.\xd61 ··············MSMD·:·the·main·object.\xd
62 ··············MSMDinfo·:·an·object·that·communicate·parameter·choices·from·the·caller·to·the·MSMD·object\xd62 ··············MSMDinfo·:·an·object·that·communicate·parameter·choices·from·the·caller·to·the·MSMD·object\xd
63 ···············and·information·and·statistics·from·the·MSMD·object·to·the·caller.\xd63 ···············and·information·and·statistics·from·the·MSMD·object·to·the·caller.\xd
64 ·······································MSMD·:·DRAFT··January·15,·2021····················3\xd64 ······································MSMD·:·DRAFT···February·18,·2022···················3\xd
65 ················MSMDstageInfo·:·an·object·that·contains·statistics·for·a·stage·of·elimination,·e.g.,·number·of\xd65 ················MSMDstageInfo·:·an·object·that·contains·statistics·for·a·stage·of·elimination,·e.g.,·number·of\xd
66 ·················steps,·number·of·vertices·eliminated,·weight·of·vertices·eliminated,·etc.\xd66 ·················steps,·number·of·vertices·eliminated,·weight·of·vertices·eliminated,·etc.\xd
67 ················MSMDvtx·:·an·object·that·models·a·vertex.\xd67 ················MSMDvtx·:·an·object·that·models·a·vertex.\xd
68 ············Auser·needs·to·understand·the·MSMDinfo·object,·so·this·is·where·we·will·start·our·description.\xd68 ············Auser·needs·to·understand·the·MSMDinfo·object,·so·this·is·where·we·will·start·our·description.\xd
69 ············1.1.1··MSMDinfo·:·define·your·algorithm\xd69 ············1.1.1··MSMDinfo·:·define·your·algorithm\xd
70 ················int·compressFlag··define·initial·and·subsequent·compressions·of·the·graph.\xd70 ················int·compressFlag··define·initial·and·subsequent·compressions·of·the·graph.\xd
71 ·················Wecompress·a·graph·using·a·checksum·technique.·At·some·point·in·the·elimination,·vertices\xd71 ·················Wecompress·a·graph·using·a·checksum·technique.·At·some·point·in·the·elimination,·vertices\xd
Offset 93, 15 lines modifiedOffset 93, 15 lines modified
93 ················double·stepType··define·the·elimination·steps.\xd93 ················double·stepType··define·the·elimination·steps.\xd
94 ····················stepType·==·0··only·one·vertex·of·minimum·priority·is·eliminated·at·each·step,·e.g.,\xd94 ····················stepType·==·0··only·one·vertex·of·minimum·priority·is·eliminated·at·each·step,·e.g.,\xd
95 ·····················as·used·in·SPARSPAK’s·GENQMD,·YSMP’s·ordering,·and·AMD·[?].\xd95 ·····················as·used·in·SPARSPAK’s·GENQMD,·YSMP’s·ordering,·and·AMD·[?].\xd
96 ····················stepType·==·1··an·independent·set·of·vertices·of·minimum·priority·is·eliminated·at\xd96 ····················stepType·==·1··an·independent·set·of·vertices·of·minimum·priority·is·eliminated·at\xd
97 ·····················each·step,·e.g.,·as·used·in·GENMMD,·multiple·minimum·degree.\xd97 ·····················each·step,·e.g.,·as·used·in·GENMMD,·multiple·minimum·degree.\xd
98 ····················stepType·>·1—anindependentsetofvertices·iseliminated·whoseprioritieslie·between\xd98 ····················stepType·>·1—anindependentsetofvertices·iseliminated·whoseprioritieslie·between\xd
99 ·····················the·minimum·priority·and·the·minimum·priority·multiplied·by·stepType.\xd99 ·····················the·minimum·priority·and·the·minimum·priority·multiplied·by·stepType.\xd
100 ··············4····························MSMD·:·DRAFT·January·15,·2021\xd100 ··············4····························MSMD·:·DRAFT·February·18,·2022\xd
101 ···················The·default·value·is·1,·multiple·elimination·of·vertices·with·minimum·priority.\xd101 ···················The·default·value·is·1,·multiple·elimination·of·vertices·with·minimum·priority.\xd
102 ··················int·seed··a·seed·used·for·a·random·number·generator,·this·introduces·a·necessary·random\xd102 ··················int·seed··a·seed·used·for·a·random·number·generator,·this·introduces·a·necessary·random\xd
103 ···················element·to·the·ordering.\xd103 ···················element·to·the·ordering.\xd
104 ··················int·msglvl··message·level·for·statistics,·diagnostics·and·monitoring.·The·default·value·is\xd104 ··················int·msglvl··message·level·for·statistics,·diagnostics·and·monitoring.·The·default·value·is\xd
105 ···················zero,·no·statistics.·Set·msglvl·to·one·and·get·elimination·monitoring.·Increase·msglvl·slowly\xd105 ···················zero,·no·statistics.·Set·msglvl·to·one·and·get·elimination·monitoring.·Increase·msglvl·slowly\xd
106 ···················to·get·more·mostly·debug·information.\xd106 ···················to·get·more·mostly·debug·information.\xd
107 ··················FILE·*msgFile··message·file,·default·is·stdout.\xd107 ··················FILE·*msgFile··message·file,·default·is·stdout.\xd
Offset 119, 15 lines modifiedOffset 119, 15 lines modified
119 ··················IIheap·*heap··pointer·to·a·IIheap·object·that·maintains·the·priority·queue.\xd119 ··················IIheap·*heap··pointer·to·a·IIheap·object·that·maintains·the·priority·queue.\xd
120 ··················IP·*baseIP··pointer·to·the·base·IP·objects,·used·to·hold·subtree·lists\xd120 ··················IP·*baseIP··pointer·to·the·base·IP·objects,·used·to·hold·subtree·lists\xd
121 ··················IP·*freeIP··pointer·to·the·list·of·free·IP·objects\xd121 ··················IP·*freeIP··pointer·to·the·list·of·free·IP·objects\xd
122 ··················int·incrIP··integer·that·holds·the·increment·factor·for·the·IP·objects.\xd122 ··················int·incrIP··integer·that·holds·the·increment·factor·for·the·IP·objects.\xd
123 ··················MSMDvtx·*vertices··pointer·to·vector·of·MSMDvtx·objects·that·represent·the·vertices.\xd123 ··················MSMDvtx·*vertices··pointer·to·vector·of·MSMDvtx·objects·that·represent·the·vertices.\xd
124 ··················IV·ivtmpIV··IV·object·that·holds·an·integer·temporary·vector.\xd124 ··················IV·ivtmpIV··IV·object·that·holds·an·integer·temporary·vector.\xd
125 ··················IV·reachIV··IV·object·that·holds·the·reach·vector.\xd125 ··················IV·reachIV··IV·object·that·holds·the·reach·vector.\xd
126 ·······································MSMD·:·DRAFT··January·15,·2021····················5\xd126 ······································MSMD·:·DRAFT···February·18,·2022···················5\xd
127 ············1.1.3··MSMDstageInfo·:·statistics·object·for·a·stage·of·the·elimination\xd127 ············1.1.3··MSMDstageInfo·:·statistics·object·for·a·stage·of·the·elimination\xd
128 ············This·object·stores·information·about·the·elimination·process·at·a·stage·of·the·elimination.\xd128 ············This·object·stores·information·about·the·elimination·process·at·a·stage·of·the·elimination.\xd
129 ················int·nstep··number·of·elimination·steps·in·this·stage\xd129 ················int·nstep··number·of·elimination·steps·in·this·stage\xd
130 ················int·nfront··number·of·fronts·created·at·this·stage\xd130 ················int·nfront··number·of·fronts·created·at·this·stage\xd
131 ················int·welim··weight·of·the·vertices·eliminated·at·this·stage\xd131 ················int·welim··weight·of·the·vertices·eliminated·at·this·stage\xd
132 ················int·nfind··number·of·front·indices\xd132 ················int·nfind··number·of·front·indices\xd
133 ················int·nzf··number·of·factor·entries·(for·a·Cholesky·factorization)\xd133 ················int·nzf··number·of·factor·entries·(for·a·Cholesky·factorization)\xd
Offset 148, 15 lines modifiedOffset 148, 15 lines modified
148 ····················’L’··eliminated·leaf·vertex\xd148 ····················’L’··eliminated·leaf·vertex\xd
149 ····················’E’··eliminated·interior·vertex\xd149 ····················’E’··eliminated·interior·vertex\xd
150 ····················’O’··outmatched·vertex\xd150 ····················’O’··outmatched·vertex\xd
151 ····················’D’··vertex·on·degree·(priority)·heap\xd151 ····················’D’··vertex·on·degree·(priority)·heap\xd
152 ····················’R’··vertex·on·reach·set\xd152 ····················’R’··vertex·on·reach·set\xd
153 ····················’I’··vertex·found·to·be·indistinguishable·to·another\xd153 ····················’I’··vertex·found·to·be·indistinguishable·to·another\xd
154 ····················’B’··boundary·vertex,·to·be·eliminated·in·another·stage\xd154 ····················’B’··boundary·vertex,·to·be·eliminated·in·another·stage\xd
155 ··············6····························MSMD·:·DRAFT·January·15,·2021\xd155 ··············6····························MSMD·:·DRAFT·February·18,·2022\xd
156 ··················int·stage··stage·of·the·vertex.·Stage·0·nodes·are·eliminated·before·stage·1·nodes,·etc.\xd156 ··················int·stage··stage·of·the·vertex.·Stage·0·nodes·are·eliminated·before·stage·1·nodes,·etc.\xd
157 ··················int·wght··weight·of·the·vertex\xd157 ··················int·wght··weight·of·the·vertex\xd
158 ··················int·nadj··size·of·the·adj·vector\xd158 ··················int·nadj··size·of·the·adj·vector\xd
159 ··················int·*adj··for·an·uneliminated·vertex,·adj·points·to·a·list·of·uncovered·adjacent·edges;·for\xd159 ··················int·*adj··for·an·uneliminated·vertex,·adj·points·to·a·list·of·uncovered·adjacent·edges;·for\xd
160 ···················an·eliminated·vertex,·adj·points·points·to·a·list·of·its·boundary·vertices·(only·valid·when·the\xd160 ···················an·eliminated·vertex,·adj·points·points·to·a·list·of·its·boundary·vertices·(only·valid·when·the\xd
161 ···················vertex·is·a·leaf·of·the·elimination·tree·or·a·root·of·a·subtree·of·uneliminated·vertices).\xd161 ···················vertex·is·a·leaf·of·the·elimination·tree·or·a·root·of·a·subtree·of·uneliminated·vertices).\xd
162 ··················int·bndwght··for·an·eliminated·vertex,·the·weight·of·the·vertices·on·its·boundary.\xd162 ··················int·bndwght··for·an·eliminated·vertex,·the·weight·of·the·vertices·on·its·boundary.\xd
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ···················This·method·clears·any·data·owned·by·the·object·and·then·sets·the·structure’s·default·fields\xd181 ···················This·method·clears·any·data·owned·by·the·object·and·then·sets·the·structure’s·default·fields\xd
182 ···················with·a·call·to·MSMDinfo·setDefaultFields().\xd182 ···················with·a·call·to·MSMDinfo·setDefaultFields().\xd
183 ···················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd183 ···················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
184 ················4.·void·MSMDinfo_free·(·MSMDinfo·*info·)·;\xd184 ················4.·void·MSMDinfo_free·(·MSMDinfo·*info·)·;\xd
185 ···················This·method·releases·any·storage·by·a·call·to·MSMDinfo·clearData()·then·free’s·the·storage\xd185 ···················This·method·releases·any·storage·by·a·call·to·MSMDinfo·clearData()·then·free’s·the·storage\xd
186 ···················for·the·structure·with·a·call·to·free().\xd186 ···················for·the·structure·with·a·call·to·free().\xd
187 ···················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd187 ···················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
188 ·······································MSMD·:·DRAFT··January·15,·2021····················7\xd188 ······································MSMD·:·DRAFT···February·18,·2022···················7\xd
189 ············1.2.2··Utility·methods\xd189 ············1.2.2··Utility·methods\xd
190 ············There·are·two·utility·methods,·one·to·print·the·object,·one·to·check·to·see·if·it·is·valid.\xd190 ············There·are·two·utility·methods,·one·to·print·the·object,·one·to·check·to·see·if·it·is·valid.\xd
191 ···············1.·void·MSMDinfo_print·(·MSMDinfo·*info,·FILE·*fp·)·;\xd191 ···············1.·void·MSMDinfo_print·(·MSMDinfo·*info,·FILE·*fp·)·;\xd
192 ·················This·method·prints·out·the·information·to·a·file.\xd192 ·················This·method·prints·out·the·information·to·a·file.\xd
193 ·················Error·checking:·If·info·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd193 ·················Error·checking:·If·info·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
194 ···············2.·int·MSMDinfo_isValid·(·MSMDinfo·*info·)·;\xd194 ···············2.·int·MSMDinfo_isValid·(·MSMDinfo·*info·)·;\xd
195 ·················This·method·checks·that·the·object·is·valid.·The·return·value·is·1·for·a·valid·object,·0·for·an\xd195 ·················This·method·checks·that·the·object·is·valid.·The·return·value·is·1·for·a·valid·object,·0·for·an\xd
Offset 213, 15 lines modifiedOffset 213, 15 lines modified
213 ·················This·method·clears·any·data·owned·by·the·object,·then·sets·the·structure’s·default·fields·with\xd213 ·················This·method·clears·any·data·owned·by·the·object,·then·sets·the·structure’s·default·fields·with\xd
214 ·················a·call·to·MSMD·setDefaultFields().\xd214 ·················a·call·to·MSMD·setDefaultFields().\xd
215 ·················Error·checking:·If·msmd·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd215 ·················Error·checking:·If·msmd·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
216 ···············4.·void·MSMD_free·(·MSMD·*msmd·)·;\xd216 ···············4.·void·MSMD_free·(·MSMD·*msmd·)·;\xd
217 ·················This·method·releases·any·storage·by·a·call·to·MSMD·clearData()·then·free’s·the·storage·for\xd217 ·················This·method·releases·any·storage·by·a·call·to·MSMD·clearData()·then·free’s·the·storage·for\xd
218 ·················the·structure·with·a·call·to·free().\xd218 ·················the·structure·with·a·call·to·free().\xd
219 ·················Error·checking:·If·msmd·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd219 ·················Error·checking:·If·msmd·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
220 ···············8································MSMD·:·DRAFT·January·15,·2021\xd220 ···············8································MSMD·:·DRAFT·February·18,·2022\xd
221 ···············1.3.2···Initialization·methods··public\xd221 ···············1.3.2···Initialization·methods··public\xd
222 ···············There·is·one·initialization·method.\xd222 ···············There·is·one·initialization·method.\xd
223 ··················1.·void·MSMD_init·(·MSMD·*msmd,·Graph·*graph,·int·stages[],·MSMD·*info·)·;\xd223 ··················1.·void·MSMD_init·(·MSMD·*msmd,·Graph·*graph,·int·stages[],·MSMD·*info·)·;\xd
224 ·····················This·method·initializes·the·MSMD·object·prior·to·an·ordering.·It·is·called·by·MSMD·order()\xd224 ·····················This·method·initializes·the·MSMD·object·prior·to·an·ordering.·It·is·called·by·MSMD·order()\xd
225 ·····················method,·and·so·it·is·currently·a·private·method·for·the·object.·However,·when·designing·more\xd225 ·····················method,·and·so·it·is·currently·a·private·method·for·the·object.·However,·when·designing·more\xd
226 ·····················complicated·ordering·methods,·this·object·is·necessary·to·set·up·the·data·structures.·There\xd226 ·····················complicated·ordering·methods,·this·object·is·necessary·to·set·up·the·data·structures.·There\xd
227 ·····················are·two·input·arguments:·graph·is·a·pointer·to·a·Graph·object·that·holds·the·adjacency·lists\xd227 ·····················are·two·input·arguments:·graph·is·a·pointer·to·a·Graph·object·that·holds·the·adjacency·lists\xd
Offset 249, 15 lines modifiedOffset 249, 15 lines modified
249 ···············1.3.4···Extraction·methods··public\xd249 ···············1.3.4···Extraction·methods··public\xd
250 ···············There·are·two·methods·to·extract·the·ordering.·The·first·fills·one·or·two·IV·objects·with·the\xd250 ···············There·are·two·methods·to·extract·the·ordering.·The·first·fills·one·or·two·IV·objects·with·the\xd
251 ···············permutation·vector(s).··The·second·returns·an·ETree·object·that·holds·the·front·tree·for·the\xd251 ···············permutation·vector(s).··The·second·returns·an·ETree·object·that·holds·the·front·tree·for·the\xd
252 ···············ordering.\xd252 ···············ordering.\xd
253 ··················1.·void·MSMD_fillPerms·(·MSMD·*msmd,·IV·*newToOldIV,·IV·*oldToNewIV·)·;\xd253 ··················1.·void·MSMD_fillPerms·(·MSMD·*msmd,·IV·*newToOldIV,·IV·*oldToNewIV·)·;\xd
254 ·····················If·newToOldIV·is·not·NULL,·this·method·fills·the·IV·object·with·the·new-to-old·permutation\xd254 ·····················If·newToOldIV·is·not·NULL,·this·method·fills·the·IV·object·with·the·new-to-old·permutation\xd
255 ·····················of·the·vertices,·resizing·the·IV·object·if·necessary.·If·oldToNewIV·is·not·NULL,·this·method\xd255 ·····················of·the·vertices,·resizing·the·IV·object·if·necessary.·If·oldToNewIV·is·not·NULL,·this·method\xd
256 ·······································MSMD·:·DRAFT··January·15,·2021····················9\xd256 ······································MSMD·:·DRAFT···February·18,·2022···················9\xd
257 ·················fills·the·IV·object·with·the·old-to-new·permutation·of·the·vertices,·resizing·the·IV·object·if\xd257 ·················fills·the·IV·object·with·the·old-to-new·permutation·of·the·vertices,·resizing·the·IV·object·if\xd
258 ·················necessary.\xd258 ·················necessary.\xd
259 ·················Error·checking:·If·msmd·is·NULL,·or·if·newToOldIV·and·oldToNewIV·is·NULL,·an·error·message\xd259 ·················Error·checking:·If·msmd·is·NULL,·or·if·newToOldIV·and·oldToNewIV·is·NULL,·an·error·message\xd
260 ·················is·printed·and·the·program·exits.\xd260 ·················is·printed·and·the·program·exits.\xd
261 ···············2.·ETree·*·MSMD_frontETree·(·MSMD·*msmd·)·;\xd261 ···············2.·ETree·*·MSMD_frontETree·(·MSMD·*msmd·)·;\xd
262 ·················This·method·constructs·and·returns·a·ETree·object·that·contains·the·front·tree·for·the\xd262 ·················This·method·constructs·and·returns·a·ETree·object·that·contains·the·front·tree·for·the\xd
263 ·················ordering.\xd263 ·················ordering.\xd
Max diff block lines reached; 4057/15062 bytes (26.94%) of diff not shown.
46.8 KB
./usr/share/doc/spooles-doc/MT.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3235731 gzip·compressed·data,·max·compression,·from·Unix,·original·size·323761
46.6 KB
MT.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMMI10·CMMI7·CMEX10·CMSY10·CMTT108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMMI10·CMMI7·CMEX10·CMSY10·CMTT10
9 %%+·CMTI10·CMSL10·CMMI12·CMBX109 %%+·CMTI10·CMSL10·CMMI12·CMBX10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·MT.ps13 %DVIPSCommandLine:·dvips·main·-o·MT.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1141, 19 lines modifiedOffset 1141, 20 lines modified
1141 end·readonly·def1141 end·readonly·def
1142 /Encoding·256·array1142 /Encoding·256·array
1143 0·1·255·{1·index·exch·/.notdef·put}·for1143 0·1·255·{1·index·exch·/.notdef·put}·for
1144 dup·44·/comma·put1144 dup·44·/comma·put
1145 dup·48·/zero·put1145 dup·48·/zero·put
1146 dup·49·/one·put1146 dup·49·/one·put
1147 dup·50·/two·put1147 dup·50·/two·put
1148 dup·53·/five·put1148 dup·56·/eight·put
1149 dup·58·/colon·put1149 dup·58·/colon·put
1150 dup·74·/J·put1150 dup·70·/F·put
1151 dup·97·/a·put1151 dup·97·/a·put
 1152 dup·98·/b·put
1152 dup·110·/n·put1153 dup·101·/e·put
1153 dup·114·/r·put1154 dup·114·/r·put
1154 dup·117·/u·put1155 dup·117·/u·put
1155 dup·121·/y·put1156 dup·121·/y·put
1156 readonly·def1157 readonly·def
1157 currentdict·end1158 currentdict·end
1158 currentfile·eexec1159 currentfile·eexec
1159 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71160 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1337, 84 lines modifiedOffset 1338, 86 lines modified
1337 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1338 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1338 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821339 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1339 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1340 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1340 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51341 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1341 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051342 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1342 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051343 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1343 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671344 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1344 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041345 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1345 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1346 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1347 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1348 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1349 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1350 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1351 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1352 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1353 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1354 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1355 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1356 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1357 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1358 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1359 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1360 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1361 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1362 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1363 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1364 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1365 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1366 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1367 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1368 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1369 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1370 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1371 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1372 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1373 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1374 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1375 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1376 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1377 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1378 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1379 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1380 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1381 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1382 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1383 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1384 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1385 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1386 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1387 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1388 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1389 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1390 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1391 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1392 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1393 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1394 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1395 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1396 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1397 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1398 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1399 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1400 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1401 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1402 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1403 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1404 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1405 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1406 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1407 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1408 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1409 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1410 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1411 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1412 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1413 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51346 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1347 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1348 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1349 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1350 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1351 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1352 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1353 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1354 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1355 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1356 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1357 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1358 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1359 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 22931/34084 bytes (67.28%) of diff not shown.
13.3 KB
ps2ascii {}
    
Offset 35, 15 lines modifiedOffset 35, 15 lines modified
35 ················by·independent·topological·traversals·of·the·front·tree.·It·is·the·list·and·working·storage·data·structures·(the\xd35 ················by·independent·topological·traversals·of·the·front·tree.·It·is·the·list·and·working·storage·data·structures·(the\xd
36 ················ChvList,·ChvManager·and·SubMtxManager·objects)·that·have·locks.·What·is·done·is·common·code·between\xd36 ················ChvList,·ChvManager·and·SubMtxManager·objects)·that·have·locks.·What·is·done·is·common·code·between\xd
37 ················the·serial·and·multithreaded·environments,·it·is·the·choreography,·i.e.,·who·does·what,·that·differs.\xd37 ················the·serial·and·multithreaded·environments,·it·is·the·choreography,·i.e.,·who·does·what,·that·differs.\xd
38 ···················Most·of·these·same·comments·apply·to·the·multithreaded·solve·methods.·The·calling·sequences·between\xd38 ···················Most·of·these·same·comments·apply·to·the·multithreaded·solve·methods.·The·calling·sequences·between\xd
39 ················the·serial·and·multithreaded·solves·differs·by·one·parameter,·a·SolveMap·object·that·maps·the·submatrices\xd39 ················the·serial·and·multithreaded·solves·differs·by·one·parameter,·a·SolveMap·object·that·maps·the·submatrices\xd
40 ················of·the·factor·matrix·to·the·threads·that·will·compute·with·them.\xd40 ················of·the·factor·matrix·to·the·threads·that·will·compute·with·them.\xd
41 ·································································1\xd41 ·································································1\xd
42 ··············2···························Multithreaded·:·DRAFT·January·15,·2021\xd42 ··············2···························Multithreaded·:·DRAFT·February·18,·2022\xd
43 ··············1.1····Data·Structure\xd43 ··············1.1····Data·Structure\xd
44 ··············There·are·no·multithreaded·specific·data·structures.·See·the·Lock·object·which·is·used·to·hide·the·particular\xd44 ··············There·are·no·multithreaded·specific·data·structures.·See·the·Lock·object·which·is·used·to·hide·the·particular\xd
45 ··············mutual·exclusion·device·used·by·a·thread·library.\xd45 ··············mutual·exclusion·device·used·by·a·thread·library.\xd
46 ··············1.2····Prototypes·and·descriptions·of·MT·methods\xd46 ··············1.2····Prototypes·and·descriptions·of·MT·methods\xd
47 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·found·in·the·MT·source·directory.\xd47 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·found·in·the·MT·source·directory.\xd
48 ··············1.2.1···Matrix-matrix·multiply·methods\xd48 ··············1.2.1···Matrix-matrix·multiply·methods\xd
49 ··············Therearefivemethodstomultiplyavectortimesadensematrix.·Thefirstthreemethods,calledInpMtx·MT·nonsym·mmm*(),\xd49 ··············Therearefivemethodstomultiplyavectortimesadensematrix.·Thefirstthreemethods,calledInpMtx·MT·nonsym·mmm*(),\xd
Offset 79, 15 lines modifiedOffset 79, 15 lines modified
79 ···················This·method·computes·the·matrix-vector·product·y·:=·y+αA·x,·where·y·is·found·in·the·Y·DenseMtx\xd79 ···················This·method·computes·the·matrix-vector·product·y·:=·y+αA·x,·where·y·is·found·in·the·Y·DenseMtx\xd
80 ···················object,·α·is·real·or·complex·in·alpha[],·A·is·found·in·the·A·Inpmtx·object,·and·x·is·found·in·the·X\xd80 ···················object,·α·is·real·or·complex·in·alpha[],·A·is·found·in·the·A·Inpmtx·object,·and·x·is·found·in·the·X\xd
81 ···················DenseMtx·object.·If·any·of·the·input·objects·are·NULL,·an·error·message·is·printed·and·the·program\xd81 ···················DenseMtx·object.·If·any·of·the·input·objects·are·NULL,·an·error·message·is·printed·and·the·program\xd
82 ···················exits.·A,·X·and·Y·must·all·be·real·or·all·be·complex.·When·A·is·real,·then·α·=·alpha[0].·When·A\xd82 ···················exits.·A,·X·and·Y·must·all·be·real·or·all·be·complex.·When·A·is·real,·then·α·=·alpha[0].·When·A\xd
83 ···················is·complex,·then·α·=·alpha[0]·+·i*·alpha[1].·This·means·that·one·cannot·call·the·methods·with\xd83 ···················is·complex,·then·α·=·alpha[0]·+·i*·alpha[1].·This·means·that·one·cannot·call·the·methods·with\xd
84 ···················a·constant·as·the·third·parameter,·e.g.,·InpMtx·MT·nonsym·mmm(A,·Y,·3.22,·X,·nthread,·msglvl,\xd84 ···················a·constant·as·the·third·parameter,·e.g.,·InpMtx·MT·nonsym·mmm(A,·Y,·3.22,·X,·nthread,·msglvl,\xd
85 ···················msgFile),·for·this·may·result·in·a·segmentation·violation.·The·values·of·α·must·be·loaded·into·an\xd85 ···················msgFile),·for·this·may·result·in·a·segmentation·violation.·The·values·of·α·must·be·loaded·into·an\xd
86 ········································Multithreaded·:·DRAFT··January·15,·2021····················3\xd86 ·······································Multithreaded·:·DRAFT···February·18,·2022···················3\xd
87 ··················array·of·length·1·or·2.·The·number·of·threads·is·specified·by·the·nthread·parameter;·if,·nthread·is·1,\xd87 ··················array·of·length·1·or·2.·The·number·of·threads·is·specified·by·the·nthread·parameter;·if,·nthread·is·1,\xd
88 ··················the·serial·method·is·called.·The·msglvl·and·msgFile·parameters·are·used·for·diagnostics·during·the\xd88 ··················the·serial·method·is·called.·The·msglvl·and·msgFile·parameters·are·used·for·diagnostics·during·the\xd
89 ··················creation·of·the·threads’·individual·data·structures.\xd89 ··················creation·of·the·threads’·individual·data·structures.\xd
90 ··················Error·checking:·If·A,·Y·or·X·are·NULL,·or·if·coordType·is·not·INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or\xd90 ··················Error·checking:·If·A,·Y·or·X·are·NULL,·or·if·coordType·is·not·INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or\xd
91 ··················INPMTX·BY·CHEVRONS,orifstorageModeisnotoneofINPMTX·RAW·DATA,INPMTX·SORTEDorINPMTX·BY·VECTORS,\xd91 ··················INPMTX·BY·CHEVRONS,orifstorageModeisnotoneofINPMTX·RAW·DATA,INPMTX·SORTEDorINPMTX·BY·VECTORS,\xd
92 ··················or·if·inputModeis·not·SPOOLES·REAL·or·SPOOLES·COMPLEX,an·error·message·is·printed·and·the·program\xd92 ··················or·if·inputModeis·not·SPOOLES·REAL·or·SPOOLES·COMPLEX,an·error·message·is·printed·and·the·program\xd
93 ··················exits.\xd93 ··················exits.\xd
Offset 124, 15 lines modifiedOffset 124, 15 lines modified
124 ······················cpus[1]··time·spent·initializing·the·fronts·and·loading·the·original·entries.\xd124 ······················cpus[1]··time·spent·initializing·the·fronts·and·loading·the·original·entries.\xd
125 ······················cpus[2]··time·spent·accumulating·updates·from·descendents.\xd125 ······················cpus[2]··time·spent·accumulating·updates·from·descendents.\xd
126 ······················cpus[3]··time·spent·inserting·aggregate·fronts.\xd126 ······················cpus[3]··time·spent·inserting·aggregate·fronts.\xd
127 ······················cpus[4]··time·spent·removing·and·assembling·aggregate·fronts.\xd127 ······················cpus[4]··time·spent·removing·and·assembling·aggregate·fronts.\xd
128 ······················cpus[5]··time·spent·assembling·postponed·data.\xd128 ······················cpus[5]··time·spent·assembling·postponed·data.\xd
129 ······················cpus[6]··time·spent·to·factor·the·fronts.\xd129 ······················cpus[6]··time·spent·to·factor·the·fronts.\xd
130 ······················cpus[7]··time·spent·to·extract·postponed·data.\xd130 ······················cpus[7]··time·spent·to·extract·postponed·data.\xd
131 ················4·····························Multithreaded·:·DRAFT·January·15,·2021\xd131 ················4·····························Multithreaded·:·DRAFT·February·18,·2022\xd
132 ························cpus[8]··time·spent·to·store·the·factor·entries.\xd132 ························cpus[8]··time·spent·to·store·the·factor·entries.\xd
133 ························cpus[9]··miscellaneous·time.\xd133 ························cpus[9]··miscellaneous·time.\xd
134 ·····················Onreturn,·the·stats[]·vector·is·filled·with·the·following·information.\xd134 ·····················Onreturn,·the·stats[]·vector·is·filled·with·the·following·information.\xd
135 ························stats[0]··number·of·pivots.\xd135 ························stats[0]··number·of·pivots.\xd
136 ························stats[1]··number·of·pivot·tests.\xd136 ························stats[1]··number·of·pivot·tests.\xd
137 ························stats[2]··number·of·delayed·rows·and·columns.\xd137 ························stats[2]··number·of·delayed·rows·and·columns.\xd
138 ························stats[3]··number·of·entries·in·D.\xd138 ························stats[3]··number·of·entries·in·D.\xd
Offset 164, 15 lines modifiedOffset 164, 15 lines modified
164 ·····················an·error·message·is·printed·and·the·program·exits.\xd164 ·····················an·error·message·is·printed·and·the·program·exits.\xd
165 ················1.2.4···Multithreaded·Solve·method\xd165 ················1.2.4···Multithreaded·Solve·method\xd
166 ··················1.·void·FrontMtx_MT_solve·(·FrontMtx·*frontmtx,·DenseMtx·*mtxX,·DenseMtx·*mtxB,\xd166 ··················1.·void·FrontMtx_MT_solve·(·FrontMtx·*frontmtx,·DenseMtx·*mtxX,·DenseMtx·*mtxB,\xd
167 ················································SubMtxManager·*mtxmanager,·SolveMap·*solvemap,\xd167 ················································SubMtxManager·*mtxmanager,·SolveMap·*solvemap,\xd
168 ················································double·cpus[],·int·msglvl,·FILE·*msgFile·)·;\xd168 ················································double·cpus[],·int·msglvl,·FILE·*msgFile·)·;\xd
169 ·····················This·method·is·used·to·solve·one·of·three·linear·systems·of·equations·using·a·multithreaded·solve·\xd169 ·····················This·method·is·used·to·solve·one·of·three·linear·systems·of·equations·using·a·multithreaded·solve·\xd
170 ·····················(UT·+I)D(I·+U)X·=B,·(UH·+I)D(I·+U)X·=B·or·(L+I)D(I+U)X·=B.·Entries·of·B·are·read\xd170 ·····················(UT·+I)D(I·+U)X·=B,·(UH·+I)D(I·+U)X·=B·or·(L+I)D(I+U)X·=B.·Entries·of·B·are·read\xd
171 ·········································Multithreaded·:·DRAFT····January·15,·2021·····················5\xd171 ·········································Multithreaded·:·DRAFT···February·18,·2022·····················5\xd
172 ···················from·mtxB·and·entries·of·X·are·written·to·mtxX.·Therefore,·mtxX·and·mtxB·can·be·the·same·object.\xd172 ···················from·mtxB·and·entries·of·X·are·written·to·mtxX.·Therefore,·mtxX·and·mtxB·can·be·the·same·object.\xd
173 ···················(Note,·this·does·not·hold·true·for·an·MPI·factorization·with·pivoting.)·The·submatrix·manager·object\xd173 ···················(Note,·this·does·not·hold·true·for·an·MPI·factorization·with·pivoting.)·The·submatrix·manager·object\xd
174 ···················manages·the·working·storage.·The·solvemap·object·contains·the·map·from·submatrices·to·threads.\xd174 ···················manages·the·working·storage.·The·solvemap·object·contains·the·map·from·submatrices·to·threads.\xd
175 ···················The·map·from·fronts·to·processes·that·own·them·is·given·in·the·ownersIV·object.·On·return·the\xd175 ···················The·map·from·fronts·to·processes·that·own·them·is·given·in·the·ownersIV·object.·On·return·the\xd
176 ···················cpus[]·vector·is·filled·with·the·following.·The·stats[]·vector·is·not·currently·used.\xd176 ···················cpus[]·vector·is·filled·with·the·following.·The·stats[]·vector·is·not·currently·used.\xd
177 ······················cpus[0]··set·up·the·solves\xd177 ······················cpus[0]··set·up·the·solves\xd
178 ······················cpus[1]··fetch·right·hand·side·and·store·solution\xd178 ······················cpus[1]··fetch·right·hand·side·and·store·solution\xd
Offset 206, 15 lines modifiedOffset 206, 15 lines modified
206 ···················¿·0·and·msgFile·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd206 ···················¿·0·and·msgFile·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
207 ··············1.3····Driver·programs·for·the·multithreaded·functions\xd207 ··············1.3····Driver·programs·for·the·multithreaded·functions\xd
208 ·················1.·allInOneMT·msglvl·msgFile·type·symmetryflag·pivotingflag\xd208 ·················1.·allInOneMT·msglvl·msgFile·type·symmetryflag·pivotingflag\xd
209 ······························matrixFileName·rhsFileName·seed·nthread\xd209 ······························matrixFileName·rhsFileName·seed·nthread\xd
210 ···················This·driver·program·reads·in·a·matrix·A·and·right·hand·side·B,·generates·the·graph·for·A·and·orders\xd210 ···················This·driver·program·reads·in·a·matrix·A·and·right·hand·side·B,·generates·the·graph·for·A·and·orders\xd
211 ···················the·matrix,·factors·A·and·solves·the·linear·system·AX·=·B·for·X·using·multithreaded·factors·and\xd211 ···················the·matrix,·factors·A·and·solves·the·linear·system·AX·=·B·for·X·using·multithreaded·factors·and\xd
212 ···················solves.·Use·the·script·file·do·gridMT·for·testing.\xd212 ···················solves.·Use·the·script·file·do·gridMT·for·testing.\xd
213 ·············6·······················Multithreaded·:·DRAFT·January·15,·2021\xd213 ·············6·······················Multithreaded·:·DRAFT·February·18,·2022\xd
214 ····················The·msglvlparameterdetermines·the·amount·of·output.·Use·msglvl·=·1·for·just·timing·output.\xd214 ····················The·msglvlparameterdetermines·the·amount·of·output.·Use·msglvl·=·1·for·just·timing·output.\xd
215 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd215 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd
216 ····················file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output·data.\xd216 ····················file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output·data.\xd
217 ····················The·type·parameter·specifies·a·real·or·complex·linear·system.\xd217 ····················The·type·parameter·specifies·a·real·or·complex·linear·system.\xd
218 ·······················type·=·1·(SPOOLES·REAL)·for·real,\xd218 ·······················type·=·1·(SPOOLES·REAL)·for·real,\xd
219 ·······················type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd219 ·······················type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd
220 ····················The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd220 ····················The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd
Offset 249, 15 lines modifiedOffset 249, 15 lines modified
249 ·················Thisdriverprogramisusedtotestthe“patch-and-go”functionalityforafactorizationwithoutpivoting.\xd249 ·················Thisdriverprogramisusedtotestthe“patch-and-go”functionalityforafactorizationwithoutpivoting.\xd
250 ·················Whensmalldiagonalpivotelements·are·found,·one·of·three·actions·are·taken.·See·the·PatchAndGoInfo\xd250 ·················Whensmalldiagonalpivotelements·are·found,·one·of·three·actions·are·taken.·See·the·PatchAndGoInfo\xd
251 ·················object·for·more·information.\xd251 ·················object·for·more·information.\xd
252 ·················The·program·reads·in·a·matrix·A·and·right·hand·side·B,·generates·the·graph·for·A·and·orders·the\xd252 ·················The·program·reads·in·a·matrix·A·and·right·hand·side·B,·generates·the·graph·for·A·and·orders·the\xd
253 ·················matrix,·factors·A·and·solves·the·linear·system·AX·=·B·for·X·using·multithreaded·factors·and·solves.\xd253 ·················matrix,·factors·A·and·solves·the·linear·system·AX·=·B·for·X·using·multithreaded·factors·and·solves.\xd
254 ·················Use·the·script·file·do·patchAndGo·for·testing.\xd254 ·················Use·the·script·file·do·patchAndGo·for·testing.\xd
255 ····················The·msglvlparameterdetermines·the·amount·of·output.·Use·msglvl·=·1·for·just·timing·output.\xd255 ····················The·msglvlparameterdetermines·the·amount·of·output.·Use·msglvl·=·1·for·just·timing·output.\xd
256 ·········································Multithreaded·:·DRAFT····January·15,·2021·····················7\xd256 ·········································Multithreaded·:·DRAFT···February·18,·2022·····················7\xd
257 ······················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd257 ······················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd
258 ·······················file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output·data.\xd258 ·······················file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output·data.\xd
259 ······················The·type·parameter·specifies·a·real·or·complex·linear·system.\xd259 ······················The·type·parameter·specifies·a·real·or·complex·linear·system.\xd
260 ··························type·=·1·(SPOOLES·REAL)·for·real,\xd260 ··························type·=·1·(SPOOLES·REAL)·for·real,\xd
261 ··························type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd261 ··························type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd
262 ······················The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd262 ······················The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd
263 ··························type·=·0·(SPOOLES·SYMMETRIC)·for·A·real·or·complex·symmetric,\xd263 ··························type·=·0·(SPOOLES·SYMMETRIC)·for·A·real·or·complex·symmetric,\xd
Offset 294, 15 lines modifiedOffset 294, 15 lines modified
294 ······················The·nthread·parameter·is·the·number·of·threads.\xd294 ······················The·nthread·parameter·is·the·number·of·threads.\xd
295 ·················3.·testMMM·msglvl·msgFile·dataType·symflag·storageMode·transpose\xd295 ·················3.·testMMM·msglvl·msgFile·dataType·symflag·storageMode·transpose\xd
296 ···························nrow·ncol·nitem·nrhs·seed·alphaReal·alphaImag·nthread\xd296 ···························nrow·ncol·nitem·nrhs·seed·alphaReal·alphaImag·nthread\xd
297 ···················ThisdriverprogramgeneratesA,·anrow×ncolmatrixusingniteminputentries,X·andY,nrow×nrhs\xd297 ···················ThisdriverprogramgeneratesA,·anrow×ncolmatrixusingniteminputentries,X·andY,nrow×nrhs\xd
298 ·····················································································T·············H\xd298 ·····················································································T·············H\xd
299 ···················matrices,·is·filled·with·random·numbers.·It·then·computes·Y·+α∗A∗X,Y·+α∗A·∗X·orY·+α∗A·∗X.\xd299 ···················matrices,·is·filled·with·random·numbers.·It·then·computes·Y·+α∗A∗X,Y·+α∗A·∗X·orY·+α∗A·∗X.\xd
300 ···················The·program’s·output·is·a·file·which·when·sent·into·Matlab,·outputs·the·error·in·the·computation.\xd300 ···················The·program’s·output·is·a·file·which·when·sent·into·Matlab,·outputs·the·error·in·the·computation.\xd
301 ··············8···························Multithreaded·:·DRAFT·January·15,·2021\xd301 ··············8···························Multithreaded·:·DRAFT·February·18,·2022\xd
302 ······················Themsglvlparameterdeterminestheamountofoutput—takingmsglvl·>=·3meanstheInpMtx\xd302 ······················Themsglvlparameterdeterminestheamountofoutput—takingmsglvl·>=·3meanstheInpMtx\xd
303 ·······················object·is·written·to·the·message·file.\xd303 ·······················object·is·written·to·the·message·file.\xd
304 ······················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd304 ······················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd
305 ·······················file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output·data.\xd305 ·······················file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output·data.\xd
306 ······················dataType·is·the·type·of·entries,·0·for·real,·1·for·complex.\xd306 ······················dataType·is·the·type·of·entries,·0·for·real,·1·for·complex.\xd
307 ······················symflag·is·the·symmetry·flag,·0·for·symmetric,·1·for·Hermitian,·2·for·nonsymmetric.\xd307 ······················symflag·is·the·symmetry·flag,·0·for·symmetric,·1·for·Hermitian,·2·for·nonsymmetric.\xd
308 ······················storageModeisthestoragemodefortheentries,1forbyrows,2forbycolumns,·3forbychevrons.\xd308 ······················storageModeisthestoragemodefortheentries,1forbyrows,2forbycolumns,·3forbychevrons.\xd
Offset 336, 15 lines modifiedOffset 336, 15 lines modified
336 ··························type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd336 ··························type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd
337 ······················The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd337 ······················The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd
338 ··························type·=·0·(SPOOLES·SYMMETRIC)·for·A·real·or·complex·symmetric,\xd338 ··························type·=·0·(SPOOLES·SYMMETRIC)·for·A·real·or·complex·symmetric,\xd
339 ··························type·=·1·(SPOOLES·HERMITIAN)·for·A·complex·Hermitian,\xd339 ··························type·=·1·(SPOOLES·HERMITIAN)·for·A·complex·Hermitian,\xd
340 ··························type·=·2·(SPOOLES·NONSYMMETRIC)\xd340 ··························type·=·2·(SPOOLES·NONSYMMETRIC)\xd
341 ·······················for·A·real·or·complex·nonsymmetric.\xd341 ·······················for·A·real·or·complex·nonsymmetric.\xd
342 ······················The·sparsityflag·parameter·signals·a·direct·or·approximate·factorization.\xd342 ······················The·sparsityflag·parameter·signals·a·direct·or·approximate·factorization.\xd
343 ················································Multithreaded·:·DRAFT·······January·15,·2021···························9\xd343 ···············································Multithreaded·:·DRAFT·······February·18,·2022···························9\xd
344 ······························sparsityflag·=·0·(FRONTMTX·DENSE·FRONTS)·implies·a·direct·factorization,·the·fronts·will\xd344 ······························sparsityflag·=·0·(FRONTMTX·DENSE·FRONTS)·implies·a·direct·factorization,·the·fronts·will\xd
345 ·······························be·stored·as·dense·submatrices.\xd345 ·······························be·stored·as·dense·submatrices.\xd
346 ······························sparsityflag·=·1·(FRONTMTX·SPARSE·FRONTS)·implies·an·approximate·factorization.·The\xd346 ······························sparsityflag·=·1·(FRONTMTX·SPARSE·FRONTS)·implies·an·approximate·factorization.·The\xd
347 ·······························fronts·will·be·stored·as·sparse·submatrices,·where·the·entries·in·the·triangular·factors·will·be\xd347 ·······························fronts·will·be·stored·as·sparse·submatrices,·where·the·entries·in·the·triangular·factors·will·be\xd
348 ·······························subjected·to·a·drop·tolerance·test··if·the·magnitude·of·an·entry·is·droptol·or·larger,·it·will\xd348 ·······························subjected·to·a·drop·tolerance·test··if·the·magnitude·of·an·entry·is·droptol·or·larger,·it·will\xd
349 ·······························be·stored,·otherwise·it·will·be·dropped.\xd349 ·······························be·stored,·otherwise·it·will·be·dropped.\xd
350 ··························The·pivotingflag·parameter·signals·whether·pivoting·for·stability·will·be·enabled·or·not.\xd350 ··························The·pivotingflag·parameter·signals·whether·pivoting·for·stability·will·be·enabled·or·not.\xd
Max diff block lines reached; 1310/13581 bytes (9.65%) of diff not shown.
34.1 KB
./usr/share/doc/spooles-doc/Network.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2750491 gzip·compressed·data,·max·compression,·from·Unix,·original·size·275228
33.8 KB
Network.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMSY10·CMBX10·CMMI88 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMSY10·CMBX10·CMMI8
9 %%+·CMSY8·CMR8·CMSL10·CMTI109 %%+·CMSY8·CMR8·CMSL10·CMTI10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·Network.ps13 %DVIPSCommandLine:·dvips·main·-o·Network.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1083, 19 lines modifiedOffset 1083, 20 lines modified
1083 end·readonly·def1083 end·readonly·def
1084 /Encoding·256·array1084 /Encoding·256·array
1085 0·1·255·{1·index·exch·/.notdef·put}·for1085 0·1·255·{1·index·exch·/.notdef·put}·for
1086 dup·44·/comma·put1086 dup·44·/comma·put
1087 dup·48·/zero·put1087 dup·48·/zero·put
1088 dup·49·/one·put1088 dup·49·/one·put
1089 dup·50·/two·put1089 dup·50·/two·put
1090 dup·53·/five·put1090 dup·56·/eight·put
1091 dup·58·/colon·put1091 dup·58·/colon·put
1092 dup·74·/J·put1092 dup·70·/F·put
1093 dup·97·/a·put1093 dup·97·/a·put
 1094 dup·98·/b·put
1094 dup·110·/n·put1095 dup·101·/e·put
1095 dup·114·/r·put1096 dup·114·/r·put
1096 dup·117·/u·put1097 dup·117·/u·put
1097 dup·121·/y·put1098 dup·121·/y·put
1098 readonly·def1099 readonly·def
1099 currentdict·end1100 currentdict·end
1100 currentfile·eexec1101 currentfile·eexec
1101 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71102 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1279, 84 lines modifiedOffset 1280, 86 lines modified
1279 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1280 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1280 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821281 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1281 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1282 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1282 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51283 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1283 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051284 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1284 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051285 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1285 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671286 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1286 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041287 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1287 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1288 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1289 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1290 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1291 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1292 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1293 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1294 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1295 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1296 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1297 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1298 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1299 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1300 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1301 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1302 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1303 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1304 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1305 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1306 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1307 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1308 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1309 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1310 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1311 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1312 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1313 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1314 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1315 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1316 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1317 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1318 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1319 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1320 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1321 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1322 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1323 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1324 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1325 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1326 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1327 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1328 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1329 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1330 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1331 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1332 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1333 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1334 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1335 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1336 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1337 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1338 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1339 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1340 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1341 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1342 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1343 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1344 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1345 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1346 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1347 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1348 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1349 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1350 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1351 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1352 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1353 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1354 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1355 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51288 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1289 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1290 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1291 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1292 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1293 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1294 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1295 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1296 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1297 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1298 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1299 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1300 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1301 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 16932/28087 bytes (60.28%) of diff not shown.
6.36 KB
ps2ascii {}
    
Offset 31, 15 lines modifiedOffset 31, 15 lines modified
31 ················································B···········B\xd31 ················································B···········B\xd
32 ·····················Similarly,·an·edge·(x,y)·where·x··Y··and·y··Y····is·not·found·in·the·network.\xd32 ·····················Similarly,·an·edge·(x,y)·where·x··Y··and·y··Y····is·not·found·in·the·network.\xd
33 ·························································W···········W\xd33 ·························································W···········W\xd
34 ····················An·edge·(x,y)·where·x··Y····and·y··Y·becomes·two·edges,·(x,y−)·and·(y+,x),·both·with\xd34 ····················An·edge·(x,y)·where·x··Y····and·y··Y·becomes·two·edges,·(x,y−)·and·(y+,x),·both·with\xd
35 ················································B···········I\xd35 ················································B···········I\xd
36 ·····················infinite·capacity.\xd36 ·····················infinite·capacity.\xd
37 ·······························································1\xd37 ·······························································1\xd
38 ··············2····························Network·:·DRAFT·January·15,·2021\xd38 ··············2····························Network·:·DRAFT·February·18,·2022\xd
39 ··················An·edge·(y,z)·where·y··Y·and·z··Y···becomes·two·edges,·(y+,z)·and·(z,y−),·both·with\xd39 ··················An·edge·(y,z)·where·y··Y·and·z··Y···becomes·two·edges,·(y+,z)·and·(z,y−),·both·with\xd
40 ············································I·········W\xd40 ············································I·········W\xd
41 ···················infinite·capacity.\xd41 ···················infinite·capacity.\xd
42 ···········································································+··········+·\xd42 ···········································································+··········+·\xd
43 ··················An·edge·(x,y)·where·x··Y·and·y··Y·becomes·two·edges,·(x·,y·)·and·(y·,x·),·both·with\xd43 ··················An·edge·(x,y)·where·x··Y·and·y··Y·becomes·two·edges,·(x·,y·)·and·(y·,x·),·both·with\xd
44 ···········································I·········I\xd44 ···········································I·········I\xd
45 ···················infinite·capacity.\xd45 ···················infinite·capacity.\xd
Offset 71, 15 lines modifiedOffset 71, 15 lines modified
71 ··················ArcChunk··a·structure·that·holds·the·storage·for·a·number·of·arcs.·Since·we·do·not·require\xd71 ··················ArcChunk··a·structure·that·holds·the·storage·for·a·number·of·arcs.·Since·we·do·not·require\xd
72 ···················the·number·of·arcs·to·be·known·in·advance·when·initializing·the·Network·object,·we·allo-\xd72 ···················the·number·of·arcs·to·be·known·in·advance·when·initializing·the·Network·object,·we·allo-\xd
73 ···················cate·chunks·of·space·to·hold·the·arcs·as·necessary.·Each·chunks·holds·space·for·nnode·arc\xd73 ···················cate·chunks·of·space·to·hold·the·arcs·as·necessary.·Each·chunks·holds·space·for·nnode·arc\xd
74 ···················structures.\xd74 ···················structures.\xd
75 ·················The·Network·object·has·six·fields.\xd75 ·················The·Network·object·has·six·fields.\xd
76 ··················int·nnode··the·number·of·nodes·in·the·network,·including·the·source·(node·0)·and·the·sink\xd76 ··················int·nnode··the·number·of·nodes·in·the·network,·including·the·source·(node·0)·and·the·sink\xd
77 ···················(node·nnode-1).\xd77 ···················(node·nnode-1).\xd
78 ·····································Network·:·DRAFT···January·15,·2021··················3\xd78 ·····································Network·:·DRAFT··February·18,·2022··················3\xd
79 ················int·narc··the·number·of·arcs·in·the·network\xd79 ················int·narc··the·number·of·arcs·in·the·network\xd
80 ················int·ntrav··the·number·of·arc·traversals·that·we·made·to·find·a·max·flow.\xd80 ················int·ntrav··the·number·of·arc·traversals·that·we·made·to·find·a·max·flow.\xd
81 ················Arc·**inheads··pointer·to·a·vector·of·pointers·to·Arc,·inheads[v]·points·to·the·first·arc\xd81 ················Arc·**inheads··pointer·to·a·vector·of·pointers·to·Arc,·inheads[v]·points·to·the·first·arc\xd
82 ·················in·the·in-list·for·node·v.\xd82 ·················in·the·in-list·for·node·v.\xd
83 ················Arc·**outheads··pointer·to·a·vector·of·pointers·to·Arc,·outheads[v]·points·to·the·first\xd83 ················Arc·**outheads··pointer·to·a·vector·of·pointers·to·Arc,·outheads[v]·points·to·the·first\xd
84 ·················arc·in·the·out-list·for·node·v.\xd84 ·················arc·in·the·out-list·for·node·v.\xd
85 ················ArcChunk·*chunk··pointer·to·the·first·ArcChunk·structure.\xd85 ················ArcChunk·*chunk··pointer·to·the·first·ArcChunk·structure.\xd
Offset 99, 15 lines modifiedOffset 99, 15 lines modified
99 ················int·size··the·total·number·of·Arc·structures·in·this·chunk.\xd99 ················int·size··the·total·number·of·Arc·structures·in·this·chunk.\xd
100 ················int·inuse··the·number·of·active·Arc·structures·in·this·chunk.\xd100 ················int·inuse··the·number·of·active·Arc·structures·in·this·chunk.\xd
101 ················Arc·*base··pointer·to·the·first·Arc·structure·in·this·chunk.\xd101 ················Arc·*base··pointer·to·the·first·Arc·structure·in·this·chunk.\xd
102 ················ArcChunk·*next··pointer·to·the·next·ArcChunk·structure·in·the·list·of·chunks.\xd102 ················ArcChunk·*next··pointer·to·the·next·ArcChunk·structure·in·the·list·of·chunks.\xd
103 ············1.2····Prototypes·and·descriptions·of·Network·methods\xd103 ············1.2····Prototypes·and·descriptions·of·Network·methods\xd
104 ············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd104 ············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
105 ············Network·object.\xd105 ············Network·object.\xd
106 ··············4···························Network·:·DRAFT·January·15,·2021\xd106 ··············4··························Network·:·DRAFT·February·18,·2022\xd
107 ··············1.2.1··Basic·methods\xd107 ··············1.2.1··Basic·methods\xd
108 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd108 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
109 ··············any·allocated·data,·and·free’ing·the·object.\xd109 ··············any·allocated·data,·and·free’ing·the·object.\xd
110 ················1.·Network·*·Network_new·(·void·)·;\xd110 ················1.·Network·*·Network_new·(·void·)·;\xd
111 ···················This·method·simply·allocates·storage·for·the·Network·structure·and·then·sets·the·default\xd111 ···················This·method·simply·allocates·storage·for·the·Network·structure·and·then·sets·the·default\xd
112 ···················fields·by·a·call·to·Network·setDefaultFields().\xd112 ···················fields·by·a·call·to·Network·setDefaultFields().\xd
113 ················2.·void·Network_setDefaultFields·(·Network·*network·)·;\xd113 ················2.·void·Network_setDefaultFields·(·Network·*network·)·;\xd
Offset 135, 15 lines modifiedOffset 135, 15 lines modified
135 ················3.·void·Network_addArc·(·Network·*network,·int·firstNode,·secondNode,\xd135 ················3.·void·Network_addArc·(·Network·*network,·int·firstNode,·secondNode,\xd
136 ·········································int·capacity,·int·flow·)·;\xd136 ·········································int·capacity,·int·flow·)·;\xd
137 ···················This·method·adds·an·arc·from·firstNode·to·secondNode·with·flow·flow·and·capacity\xd137 ···················This·method·adds·an·arc·from·firstNode·to·secondNode·with·flow·flow·and·capacity\xd
138 ···················capacity.·The·arc·is·inserted·in·the·out-list·for·firstNode·and·the·in-list·for·secondNode.\xd138 ···················capacity.·The·arc·is·inserted·in·the·out-list·for·firstNode·and·the·in-list·for·secondNode.\xd
139 ···················Error·checking:·If·network·is·NULL,·or·if·nnode··0,·or·if·firstNode··0,·or·if·nnode·\xd139 ···················Error·checking:·If·network·is·NULL,·or·if·nnode··0,·or·if·firstNode··0,·or·if·nnode·\xd
140 ···················firstNode,·or·if·secondNode··0,·or·if·nnode··secondNode,·or·if·capacity··0,·an·error\xd140 ···················firstNode,·or·if·secondNode··0,·or·if·nnode··secondNode,·or·if·capacity··0,·an·error\xd
141 ···················message·is·printed·and·the·program·exits.\xd141 ···················message·is·printed·and·the·program·exits.\xd
142 ·····································Network·:·DRAFT···January·15,·2021··················5\xd142 ·····································Network·:·DRAFT··February·18,·2022··················5\xd
143 ············1.2.3··Utility·methods\xd143 ············1.2.3··Utility·methods\xd
144 ···············1.·void·Network_findMaxFlow·(·Network·*network·)·;\xd144 ···············1.·void·Network_findMaxFlow·(·Network·*network·)·;\xd
145 ·················This·method·finds·a·maximum·flow·over·the·network·by·repeatedly·calling·the·method·to\xd145 ·················This·method·finds·a·maximum·flow·over·the·network·by·repeatedly·calling·the·method·to\xd
146 ·················find·an·augmenting·path·and·then·the·method·to·augment·the·path.·It·uses·an·Ideq·object\xd146 ·················find·an·augmenting·path·and·then·the·method·to·augment·the·path.·It·uses·an·Ideq·object\xd
147 ·················to·maintain·a·priority·dequeue.\xd147 ·················to·maintain·a·priority·dequeue.\xd
148 ·················Error·checking:·If·network·is·NULL,·or·if·nnode··0,·an·error·message·is·printed·and·the\xd148 ·················Error·checking:·If·network·is·NULL,·or·if·nnode··0,·an·error·message·is·printed·and·the\xd
149 ·················program·exits.\xd149 ·················program·exits.\xd
Offset 172, 15 lines modifiedOffset 172, 15 lines modified
172 ·················and·the·program·exits.\xd172 ·················and·the·program·exits.\xd
173 ···············5.·void·Network_findMincutFromSink·(·Network·*network,·Ideq·deq,·int·mark[])·;\xd173 ···············5.·void·Network_findMincutFromSink·(·Network·*network,·Ideq·deq,·int·mark[])·;\xd
174 ·················This·method·finds·the·min-cut·closest·to·the·sink·by·traversing·a·tree·of·flow-alternating\xd174 ·················This·method·finds·the·min-cut·closest·to·the·sink·by·traversing·a·tree·of·flow-alternating\xd
175 ·················paths·into·the·sink.·On·return,·mark[v]·=·1·if·the·node·v·is·in·the·component·that·contains\xd175 ·················paths·into·the·sink.·On·return,·mark[v]·=·1·if·the·node·v·is·in·the·component·that·contains\xd
176 ·················the·source.·If·the·node·v·is·in·the·component·that·contains·the·sink,·then·mark[v]·=·2.\xd176 ·················the·source.·If·the·node·v·is·in·the·component·that·contains·the·sink,·then·mark[v]·=·2.\xd
177 ·················Error·checking:·If·network,·deq·or·mark·is·NULL,·or·if·nnode··0,·an·error·message·is·printed\xd177 ·················Error·checking:·If·network,·deq·or·mark·is·NULL,·or·if·nnode··0,·an·error·message·is·printed\xd
178 ·················and·the·program·exits.\xd178 ·················and·the·program·exits.\xd
179 ··············6···························Network·:·DRAFT·January·15,·2021\xd179 ··············6··························Network·:·DRAFT·February·18,·2022\xd
180 ··············1.2.4··IO·methods\xd180 ··············1.2.4··IO·methods\xd
181 ··············There·are·two·IO·routines·for·debugging·purposes.\xd181 ··············There·are·two·IO·routines·for·debugging·purposes.\xd
182 ················1.·void·Network_writeForHumanEye·(·Network·*network,·FILE·*fp·)·;\xd182 ················1.·void·Network_writeForHumanEye·(·Network·*network,·FILE·*fp·)·;\xd
183 ···················Thismethodwritesthenetworktoafileinahumanreadableformat.·ThemethodNetwork·writeStats()\xd183 ···················Thismethodwritesthenetworktoafileinahumanreadableformat.·ThemethodNetwork·writeStats()\xd
184 ···················is·called·to·write·out·the·header·and·statistics.·Then·the·in-list·and·out-lists·for·the·nodes·in\xd184 ···················is·called·to·write·out·the·header·and·statistics.·Then·the·in-list·and·out-lists·for·the·nodes·in\xd
185 ···················the·network·are·printed.\xd185 ···················the·network·are·printed.\xd
186 ···················Error·checking:·If·network·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd186 ···················Error·checking:·If·network·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
20.5 KB
./usr/share/doc/spooles-doc/PatchAndGoInfo.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2674251 gzip·compressed·data,·max·compression,·from·Unix,·original·size·267587
20.2 KB
PatchAndGoInfo.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMMI10·CMR8·CMMI88 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMMI10·CMR8·CMMI8
9 %%+·CMEX10·CMSY8·CMSL10·CMTI10·CMBX109 %%+·CMEX10·CMSY8·CMSL10·CMTI10·CMBX10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·PatchAndGoInfo.ps13 %DVIPSCommandLine:·dvips·main·-o·PatchAndGoInfo.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1319, 19 lines modifiedOffset 1319, 20 lines modified
1319 end·readonly·def1319 end·readonly·def
1320 /Encoding·256·array1320 /Encoding·256·array
1321 0·1·255·{1·index·exch·/.notdef·put}·for1321 0·1·255·{1·index·exch·/.notdef·put}·for
1322 dup·44·/comma·put1322 dup·44·/comma·put
1323 dup·48·/zero·put1323 dup·48·/zero·put
1324 dup·49·/one·put1324 dup·49·/one·put
1325 dup·50·/two·put1325 dup·50·/two·put
1326 dup·53·/five·put1326 dup·56·/eight·put
1327 dup·58·/colon·put1327 dup·58·/colon·put
1328 dup·74·/J·put1328 dup·70·/F·put
1329 dup·97·/a·put1329 dup·97·/a·put
 1330 dup·98·/b·put
1330 dup·110·/n·put1331 dup·101·/e·put
1331 dup·114·/r·put1332 dup·114·/r·put
1332 dup·117·/u·put1333 dup·117·/u·put
1333 dup·121·/y·put1334 dup·121·/y·put
1334 readonly·def1335 readonly·def
1335 currentdict·end1336 currentdict·end
1336 currentfile·eexec1337 currentfile·eexec
1337 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71338 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1515, 84 lines modifiedOffset 1516, 86 lines modified
1515 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1516 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1516 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821517 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1517 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1518 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1518 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51519 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1519 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051520 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1520 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051521 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1521 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671522 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1522 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041523 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1523 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1524 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1525 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1526 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1527 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1528 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1529 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1530 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1531 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1532 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1533 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1534 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1535 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1536 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1537 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1538 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1539 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1540 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1541 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1542 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1543 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1544 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1545 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1546 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1547 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1548 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1549 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1550 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1551 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1552 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1553 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1554 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1555 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1556 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1557 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1558 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1559 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1560 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1561 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1562 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1563 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1564 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1565 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1566 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1567 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1568 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1569 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1570 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1571 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1572 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1573 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1574 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1575 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1576 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1577 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1578 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1579 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1580 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1581 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1582 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1583 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1584 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1585 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1586 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1587 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1588 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1589 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1590 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1591 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51524 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1525 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1526 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1527 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1528 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1529 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1530 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1531 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1532 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1533 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1534 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1535 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1536 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1537 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 6366/17535 bytes (36.30%) of diff not shown.
3.08 KB
ps2ascii {}
    
Offset 26, 15 lines modifiedOffset 26, 15 lines modified
26 ····························If·A······is·singular,·the·solution·X·=·0·and·X·=·A−1B·is·perfectly·acceptable.·In·other\xd26 ····························If·A······is·singular,·the·solution·X·=·0·and·X·=·A−1B·is·perfectly·acceptable.·In·other\xd
27 ··································1,1·····································1················2·······2,2···2\xd27 ··································1,1·····································1················2·······2,2···2\xd
28 ····························cases,·the·location·of·the·singularity·can·be·communicated·back·to·the·user·to·supply·useful\xd28 ····························cases,·the·location·of·the·singularity·can·be·communicated·back·to·the·user·to·supply·useful\xd
29 ····························information·about·the·finite·element·model.·One·common·practice·is·to·not·use·pivoting,·but\xd29 ····························information·about·the·finite·element·model.·One·common·practice·is·to·not·use·pivoting,·but\xd
30 ····························to·check·the·magnitude·of·the·diagonal·entry·as·a·row·and·column·is·to·be·eliminated.·If\xd30 ····························to·check·the·magnitude·of·the·diagonal·entry·as·a·row·and·column·is·to·be·eliminated.·If\xd
31 ····························the·magnitude·is·smaller·than·a·user-supplied·parameter,·the·diagonal·entry·is·set·to·some\xd31 ····························the·magnitude·is·smaller·than·a·user-supplied·parameter,·the·diagonal·entry·is·set·to·some\xd
32 ·····················································································1\xd32 ·····················································································1\xd
33 ···············2··························PatchAndGoInfo·:·DRAFT·January·15,·2021\xd33 ···············2··························PatchAndGoInfo·:·DRAFT·February·18,·2022\xd
34 ·····················multiple·of·the·largest·offdiagonal·entry·in·that·row·and·column·of·the·front,·the·location·and\xd34 ·····················multiple·of·the·largest·offdiagonal·entry·in·that·row·and·column·of·the·front,·the·location·and\xd
35 ·····················perturbation·is·noted,·and·the·factorization·proceeds.\xd35 ·····················perturbation·is·noted,·and·the·factorization·proceeds.\xd
36 ··················Other·strategies·can·be·added·to·the·PatchAndGoInfo·object.·For·example,·if·a·matrix·is·being\xd36 ··················Other·strategies·can·be·added·to·the·PatchAndGoInfo·object.·For·example,·if·a·matrix·is·being\xd
37 ···············factored·that·is·believed·to·be·positive·definite,·and·a·negative·value·is·found·in·a·pivot·element,\xd37 ···············factored·that·is·believed·to·be·positive·definite,·and·a·negative·value·is·found·in·a·pivot·element,\xd
38 ···············one·could·abort·the·factorization,·or·perturb·the·element·so·that·it·is·positive.\xd38 ···············one·could·abort·the·factorization,·or·perturb·the·element·so·that·it·is·positive.\xd
39 ···············1.1····Data·Structure\xd39 ···············1.1····Data·Structure\xd
40 ···············The·PatchAndGoInfo·structure·has·five·fields.\xd40 ···············The·PatchAndGoInfo·structure·has·five·fields.\xd
Offset 58, 15 lines modifiedOffset 58, 15 lines modified
58 ··················1.·PatchAndGoInfo·*·PatchAndGoInfo_new·(·void·)·;\xd58 ··················1.·PatchAndGoInfo·*·PatchAndGoInfo_new·(·void·)·;\xd
59 ·····················This·method·simply·allocates·storage·for·the·PatchAndGoInfo·structure·and·then·sets·the\xd59 ·····················This·method·simply·allocates·storage·for·the·PatchAndGoInfo·structure·and·then·sets·the\xd
60 ·····················default·fields·by·a·call·to·PatchAndGoInfo·setDefaultFields().\xd60 ·····················default·fields·by·a·call·to·PatchAndGoInfo·setDefaultFields().\xd
61 ··················2.·void·PatchAndGoInfo_setDefaultFields·(·PatchAndGoInfo·*info·)·;\xd61 ··················2.·void·PatchAndGoInfo_setDefaultFields·(·PatchAndGoInfo·*info·)·;\xd
62 ·····················This·method·sets·the·structure’s·fields·to·default·values:·strategy·=·-1,·toosmall·=·fudge\xd62 ·····················This·method·sets·the·structure’s·fields·to·default·values:·strategy·=·-1,·toosmall·=·fudge\xd
63 ·····················=0.0,·and·fudgeIV·=·fudgeDV·=·NULL·.\xd63 ·····················=0.0,·and·fudgeIV·=·fudgeDV·=·NULL·.\xd
64 ·····················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd64 ·····················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
65 ··································PatchAndGoInfo·:·DRAFT···January·15,·2021···············3\xd65 ··································PatchAndGoInfo·:·DRAFT··February·18,·2022···············3\xd
66 ···············3.·void·PatchAndGoInfo_clearData·(·PatchAndGoInfo·*info·)·;\xd66 ···············3.·void·PatchAndGoInfo_clearData·(·PatchAndGoInfo·*info·)·;\xd
67 ·················This·method·clears·any·data·owned·by·the·object.·If·fudgeIV·is·not·NULL·it·is·free’d·by·a\xd67 ·················This·method·clears·any·data·owned·by·the·object.·If·fudgeIV·is·not·NULL·it·is·free’d·by·a\xd
68 ·················call·to·IV·free().·If·fudgeDV·is·not·NULL·it·is·free’d·by·a·call·to·DV·free().·The·structure’s\xd68 ·················call·to·IV·free().·If·fudgeDV·is·not·NULL·it·is·free’d·by·a·call·to·DV·free().·The·structure’s\xd
69 ·················default·fields·are·then·set·with·a·call·to·PatchAndGoInfo·setDefaultFields().\xd69 ·················default·fields·are·then·set·with·a·call·to·PatchAndGoInfo·setDefaultFields().\xd
70 ·················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd70 ·················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
71 ···············4.·void·PatchAndGoInfo_free·(·PatchAndGoInfo·*info·)·;\xd71 ···············4.·void·PatchAndGoInfo_free·(·PatchAndGoInfo·*info·)·;\xd
72 ·················This·method·releases·any·storage·by·a·call·to·PatchAndGoInfo·clearData()·then·free’s·the\xd72 ·················This·method·releases·any·storage·by·a·call·to·PatchAndGoInfo·clearData()·then·free’s·the\xd
21.1 KB
./usr/share/doc/spooles-doc/Pencil.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2308201 gzip·compressed·data,·max·compression,·from·Unix,·original·size·230987
20.8 KB
Pencil.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMMI10·CMTT10·CMSY10·CMBX10·CMSL108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMMI10·CMTT10·CMSY10·CMBX10·CMSL10
9 %%+·CMTI10·CMMI89 %%+·CMTI10·CMMI8
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·Pencil.ps13 %DVIPSCommandLine:·dvips·main·-o·Pencil.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1176, 19 lines modifiedOffset 1176, 20 lines modified
1176 end·readonly·def1176 end·readonly·def
1177 /Encoding·256·array1177 /Encoding·256·array
1178 0·1·255·{1·index·exch·/.notdef·put}·for1178 0·1·255·{1·index·exch·/.notdef·put}·for
1179 dup·44·/comma·put1179 dup·44·/comma·put
1180 dup·48·/zero·put1180 dup·48·/zero·put
1181 dup·49·/one·put1181 dup·49·/one·put
1182 dup·50·/two·put1182 dup·50·/two·put
1183 dup·53·/five·put1183 dup·56·/eight·put
1184 dup·58·/colon·put1184 dup·58·/colon·put
1185 dup·74·/J·put1185 dup·70·/F·put
1186 dup·97·/a·put1186 dup·97·/a·put
 1187 dup·98·/b·put
1187 dup·110·/n·put1188 dup·101·/e·put
1188 dup·114·/r·put1189 dup·114·/r·put
1189 dup·117·/u·put1190 dup·117·/u·put
1190 dup·121·/y·put1191 dup·121·/y·put
1191 readonly·def1192 readonly·def
1192 currentdict·end1193 currentdict·end
1193 currentfile·eexec1194 currentfile·eexec
1194 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71195 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1372, 84 lines modifiedOffset 1373, 86 lines modified
1372 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1373 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1373 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821374 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1374 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1375 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1375 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51376 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1376 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051377 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1377 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051378 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1378 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671379 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1379 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041380 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1380 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1381 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1382 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1383 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1384 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1385 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1386 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1387 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1388 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1389 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1390 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1391 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1392 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1393 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1394 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1395 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1396 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1397 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1398 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1399 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1400 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1401 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1402 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1403 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1404 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1405 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1406 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1407 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1408 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1409 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1410 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1411 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1412 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1413 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1414 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1415 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1416 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1417 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1418 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1419 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1420 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1421 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1422 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1423 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1424 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1425 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1426 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1427 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1428 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1429 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1430 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1431 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1432 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1433 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1434 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1435 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1436 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1437 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1438 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1439 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1440 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1441 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1442 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1443 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1444 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1445 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1446 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1447 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1448 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51381 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1382 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1383 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1384 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1385 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1386 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1387 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1388 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1389 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1390 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1391 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1392 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1393 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1394 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 6089/17236 bytes (35.33%) of diff not shown.
3.96 KB
ps2ascii {}
    
Offset 16, 15 lines modifiedOffset 16, 15 lines modified
16 ··············InpMtx·*inpmtxB·:·pointer·to·the·matrix·object·for·B.·If·inpmtxB·is·NULL,·then·B·is·the\xd16 ··············InpMtx·*inpmtxB·:·pointer·to·the·matrix·object·for·B.·If·inpmtxB·is·NULL,·then·B·is·the\xd
17 ···············identity·matrix.\xd17 ···············identity·matrix.\xd
18 ··············double·sigma[2]·:·real·or·complex·scalar·shift·value.\xd18 ··············double·sigma[2]·:·real·or·complex·scalar·shift·value.\xd
19 ···········1.2··Prototypes·and·descriptions·of·Pencil·methods\xd19 ···········1.2··Prototypes·and·descriptions·of·Pencil·methods\xd
20 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd20 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
21 ···········Pencil·object.\xd21 ···········Pencil·object.\xd
22 ·············································1\xd22 ·············································1\xd
23 ··············2·····························Chv·:·DRAFT·January·15,·2021\xd23 ··············2····························Chv·:·DRAFT·February·18,·2022\xd
24 ··············1.2.1··Basic·methods\xd24 ··············1.2.1··Basic·methods\xd
25 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd25 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
26 ··············any·allocated·data,·and·free’ing·the·object.\xd26 ··············any·allocated·data,·and·free’ing·the·object.\xd
27 ················1.·Pencil·*·Pencil_new·(·void·)·;\xd27 ················1.·Pencil·*·Pencil_new·(·void·)·;\xd
28 ··················This·method·simply·allocates·storage·for·the·Pencil·structure·and·then·sets·the·default·fields\xd28 ··················This·method·simply·allocates·storage·for·the·Pencil·structure·and·then·sets·the·default·fields\xd
29 ··················by·a·call·to·Pencil·setDefaultFields().\xd29 ··················by·a·call·to·Pencil·setDefaultFields().\xd
30 ················2.·void·Pencil_setDefaultFields·(·Pencil·*pencil·)·;\xd30 ················2.·void·Pencil_setDefaultFields·(·Pencil·*pencil·)·;\xd
Offset 48, 15 lines modifiedOffset 48, 15 lines modified
48 ················1.·void·Pencil_changeCoordType·(·Pencil·*pencil,·int·newType·)·;\xd48 ················1.·void·Pencil_changeCoordType·(·Pencil·*pencil,·int·newType·)·;\xd
49 ··················ThismethodsimplycallstheInpMtx·changeCoordType()methodforeachofitstwomatrices.\xd49 ··················ThismethodsimplycallstheInpMtx·changeCoordType()methodforeachofitstwomatrices.\xd
50 ··················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd50 ··················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
51 ················2.·void·Pencil_changeStorageMode·(·Pencil·*pencil,·int·newMode·)·;\xd51 ················2.·void·Pencil_changeStorageMode·(·Pencil·*pencil,·int·newMode·)·;\xd
52 ··················This·method·simply·calls·the·InpMtx·changeStorageMode()·method·for·each·of·its·two·ma-\xd52 ··················This·method·simply·calls·the·InpMtx·changeStorageMode()·method·for·each·of·its·two·ma-\xd
53 ··················trices.\xd53 ··················trices.\xd
54 ··················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd54 ··················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
55 ·············································Chv·:·DRAFT·····January·15,·2021··························3\xd55 ············································Chv·:·DRAFT·····February·18,·2022··························3\xd
56 ·················3.·void·Pencil_sortAndCompress·(·Pencil·*pencil·)·;\xd56 ·················3.·void·Pencil_sortAndCompress·(·Pencil·*pencil·)·;\xd
57 ···················ThismethodsimplycallstheInpMtx·sortAndCompress()methodforeachofitstwomatrices.\xd57 ···················ThismethodsimplycallstheInpMtx·sortAndCompress()methodforeachofitstwomatrices.\xd
58 ···················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd58 ···················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
59 ·················4.·void·Pencil_convertToVectors·(·Pencil·*pencil·)·;\xd59 ·················4.·void·Pencil_convertToVectors·(·Pencil·*pencil·)·;\xd
60 ···················ThismethodsimplycallstheInpMtx·sortAndCompress()methodforeachofitstwomatrices.\xd60 ···················ThismethodsimplycallstheInpMtx·sortAndCompress()methodforeachofitstwomatrices.\xd
61 ···················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd61 ···················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
62 ·················5.·void·Pencil_mapToLowerTriangle·(·Pencil·*pencil·)·;\xd62 ·················5.·void·Pencil_mapToLowerTriangle·(·Pencil·*pencil·)·;\xd
Offset 83, 15 lines modifiedOffset 83, 15 lines modified
83 ·················1.·Pencil·*·Pencil_setup·(·int·myid,·int·symflag,·char·*inpmtxAfile,\xd83 ·················1.·Pencil·*·Pencil_setup·(·int·myid,·int·symflag,·char·*inpmtxAfile,\xd
84 ·······················double·sigma[],·char·*inpmtxBfile,·int·randomflag,·Drand·*drand,\xd84 ·······················double·sigma[],·char·*inpmtxBfile,·int·randomflag,·Drand·*drand,\xd
85 ·······················int·msglvl,·FILE·*msgFile·)·;\xd85 ·······················int·msglvl,·FILE·*msgFile·)·;\xd
86 ···················This·method·is·used·to·read·in·the·matrices·from·two·files·and·initialize·the·objects.·If\xd86 ···················This·method·is·used·to·read·in·the·matrices·from·two·files·and·initialize·the·objects.·If\xd
87 ···················the·file·name·is·“none”,·then·no·matrix·is·read.···If·symflag·is·SPOOLES·SYMMETRIC·or\xd87 ···················the·file·name·is·“none”,·then·no·matrix·is·read.···If·symflag·is·SPOOLES·SYMMETRIC·or\xd
88 ···················SPOOLES·HERMITIAN,·entries·in·the·lower·triangle·are·dropped.·If·randomflag·is·one,·the\xd88 ···················SPOOLES·HERMITIAN,·entries·in·the·lower·triangle·are·dropped.·If·randomflag·is·one,·the\xd
89 ···················entries·are·filled·with·random·numbers·using·the·Drand·random·number·generator·drand.\xd89 ···················entries·are·filled·with·random·numbers·using·the·Drand·random·number·generator·drand.\xd
90 ·······4···············Chv·:·DRAFT·January·15,·2021\xd90 ·······4··············Chv·:·DRAFT·February·18,·2022\xd
91 ··········Note:·this·method·was·created·for·an·MPI·application.·If·myid·is·zero,·then·the·files·are\xd91 ··········Note:·this·method·was·created·for·an·MPI·application.·If·myid·is·zero,·then·the·files·are\xd
92 ··········read·in,·otherwise·just·stubs·are·created·for·the·internal·matrix·objects.·In·our·MPI·drivers,\xd92 ··········read·in,·otherwise·just·stubs·are·created·for·the·internal·matrix·objects.·In·our·MPI·drivers,\xd
93 ··········process·zero·reads·in·the·matrices·and·then·starts·the·process·to·distribute·them·to·the·other\xd93 ··········process·zero·reads·in·the·matrices·and·then·starts·the·process·to·distribute·them·to·the·other\xd
94 ··········processes.\xd94 ··········processes.\xd
95 ··········Error·checking:·If·pencil·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd95 ··········Error·checking:·If·pencil·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
96 ········2.·int·Pencil_readFromFiles·(·Pencil·*pencil,·char·*fnA,·char·*fnB·)·;\xd96 ········2.·int·Pencil_readFromFiles·(·Pencil·*pencil,·char·*fnA,·char·*fnB·)·;\xd
97 ··········This·method·reads·the·two·InpMtx·objects·from·two·files.·If·fnA·is·“none”,·then·A·is·not\xd97 ··········This·method·reads·the·two·InpMtx·objects·from·two·files.·If·fnA·is·“none”,·then·A·is·not\xd
27.9 KB
./usr/share/doc/spooles-doc/Perm.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·1990571 gzip·compressed·data,·max·compression,·from·Unix,·original·size·199234
27.7 KB
Perm.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·596·8427 %%BoundingBox:·0·0·596·842
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMSY10·CMBX10·CMSL108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMSY10·CMBX10·CMSL10
9 %%DocumentPaperSizes:·a49 %%DocumentPaperSizes:·a4
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·Perm.ps12 %DVIPSCommandLine:·dvips·main·-o·Perm.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 556, 19 lines modifiedOffset 556, 20 lines modified
556 end·readonly·def556 end·readonly·def
557 /Encoding·256·array557 /Encoding·256·array
558 0·1·255·{1·index·exch·/.notdef·put}·for558 0·1·255·{1·index·exch·/.notdef·put}·for
559 dup·44·/comma·put559 dup·44·/comma·put
560 dup·48·/zero·put560 dup·48·/zero·put
561 dup·49·/one·put561 dup·49·/one·put
562 dup·50·/two·put562 dup·50·/two·put
563 dup·53·/five·put563 dup·56·/eight·put
564 dup·58·/colon·put564 dup·58·/colon·put
565 dup·74·/J·put565 dup·70·/F·put
566 dup·97·/a·put566 dup·97·/a·put
 567 dup·98·/b·put
567 dup·110·/n·put568 dup·101·/e·put
568 dup·114·/r·put569 dup·114·/r·put
569 dup·117·/u·put570 dup·117·/u·put
570 dup·121·/y·put571 dup·121·/y·put
571 readonly·def572 readonly·def
572 currentdict·end573 currentdict·end
573 currentfile·eexec574 currentfile·eexec
574 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7575 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 752, 84 lines modifiedOffset 753, 86 lines modified
752 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A753 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
753 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082754 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
754 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E755 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
755 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5756 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
756 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05757 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
757 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05758 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
758 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767759 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
759 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704760 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
760 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
761 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
762 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
763 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
764 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
765 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
766 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
767 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
768 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
769 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
770 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
771 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
772 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
773 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
774 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
775 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
776 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
777 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
778 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
779 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
780 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
781 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
782 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
783 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
784 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
785 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
786 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
787 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
788 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
789 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
790 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
791 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
792 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
793 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
794 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
795 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
796 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
797 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
798 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
799 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
800 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
801 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
802 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
803 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
804 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
805 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
806 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
807 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
808 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
809 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
810 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
811 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
812 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
813 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
814 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
815 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
816 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
817 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
818 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
819 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
820 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
821 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
822 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
823 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
824 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
825 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
826 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
827 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
828 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5761 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 762 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 763 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 764 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 765 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 766 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 767 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 768 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 769 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 770 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 771 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 772 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 773 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 774 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 12277/23424 bytes (52.41%) of diff not shown.
4.78 KB
ps2ascii {}
    
Offset 14, 15 lines modifiedOffset 14, 15 lines modified
14 ··············int·size·:·dimension·of·the·vectors\xd14 ··············int·size·:·dimension·of·the·vectors\xd
15 ··············int·*newToOld·:·pointer·to·the·new-to-old·vector\xd15 ··············int·*newToOld·:·pointer·to·the·new-to-old·vector\xd
16 ··············int·*oldToNew·:·pointer·to·the·old-to-new·vector\xd16 ··············int·*oldToNew·:·pointer·to·the·old-to-new·vector\xd
17 ···········1.2··Prototypes·and·descriptions·of·Perm·methods\xd17 ···········1.2··Prototypes·and·descriptions·of·Perm·methods\xd
18 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Perm\xd18 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Perm\xd
19 ···········object.\xd19 ···········object.\xd
20 ·············································1\xd20 ·············································1\xd
21 ··············2····························PERM·:·DRAFT·January·15,·2021\xd21 ··············2····························PERM·:·DRAFT·February·18,·2022\xd
22 ··············1.2.1··Basic·methods\xd22 ··············1.2.1··Basic·methods\xd
23 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd23 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
24 ··············any·allocated·data,·and·free’ing·the·object.\xd24 ··············any·allocated·data,·and·free’ing·the·object.\xd
25 ················1.·Perm·*·Perm_new·(·void·)·;\xd25 ················1.·Perm·*·Perm_new·(·void·)·;\xd
26 ···················This·method·simply·allocates·storage·for·the·Perm·structure·and·then·sets·the·default·fields\xd26 ···················This·method·simply·allocates·storage·for·the·Perm·structure·and·then·sets·the·default·fields\xd
27 ···················by·a·call·to·Perm·setDefaultFields().\xd27 ···················by·a·call·to·Perm·setDefaultFields().\xd
28 ················2.·void·Perm_setDefaultFields·(·Perm·*perm·)·;\xd28 ················2.·void·Perm_setDefaultFields·(·Perm·*perm·)·;\xd
Offset 46, 15 lines modifiedOffset 46, 15 lines modified
46 ···················isPresent·==·3·then·newToOld·and·newToOld·are·set·with·calls·to·IVinit().\xd46 ···················isPresent·==·3·then·newToOld·and·newToOld·are·set·with·calls·to·IVinit().\xd
47 ···················Error·checking:·If·perm·is·NULL,·or·if·isPresent·is·invalid,·or·if·size·<=·0,·an·error·message\xd47 ···················Error·checking:·If·perm·is·NULL,·or·if·isPresent·is·invalid,·or·if·size·<=·0,·an·error·message\xd
48 ···················is·printed·and·the·program·exits.\xd48 ···················is·printed·and·the·program·exits.\xd
49 ··············1.2.3··Utility·methods\xd49 ··············1.2.3··Utility·methods\xd
50 ················1.·int·Perm_sizeOf·(·Perm·*perm·)·;\xd50 ················1.·int·Perm_sizeOf·(·Perm·*perm·)·;\xd
51 ···················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd51 ···················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd
52 ···················Error·checking:·If·perm·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd52 ···················Error·checking:·If·perm·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
53 ·······································PERM·:·DRAFT··January·15,·2021····················3\xd53 ······································PERM·:·DRAFT···February·18,·2022···················3\xd
54 ···············2.·int·Perm_checkPerm·(·Perm·*perm·)·;\xd54 ···············2.·int·Perm_checkPerm·(·Perm·*perm·)·;\xd
55 ·················This·method·checks·the·validity·of·the·Perm·object.·If·oldToNew·is·present,·it·is·checked\xd55 ·················This·method·checks·the·validity·of·the·Perm·object.·If·oldToNew·is·present,·it·is·checked\xd
56 ·················to·see·that·it·is·a·true·permutation·vector,·i.e.,·a·one-one·and·onto·map·from·[0,size)·to\xd56 ·················to·see·that·it·is·a·true·permutation·vector,·i.e.,·a·one-one·and·onto·map·from·[0,size)·to\xd
57 ·················[0,size),·and·similarly·for·newToOld·if·it·is·present.·If·the·permutation·vector(s)·are·valid,\xd57 ·················[0,size),·and·similarly·for·newToOld·if·it·is·present.·If·the·permutation·vector(s)·are·valid,\xd
58 ·················1·is·returned,·otherwise·0·is·returned.\xd58 ·················1·is·returned,·otherwise·0·is·returned.\xd
59 ·················Error·checking:·If·perm·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd59 ·················Error·checking:·If·perm·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
60 ···············3.·void·Perm_fillOldToNew·(·Perm·*perm·)·;\xd60 ···············3.·void·Perm_fillOldToNew·(·Perm·*perm·)·;\xd
Offset 80, 15 lines modifiedOffset 80, 15 lines modified
80 ·················compressed·graph.\xd80 ·················compressed·graph.\xd
81 ·················Error·checking:·If·perm·or·eqmapIV·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd81 ·················Error·checking:·If·perm·or·eqmapIV·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
82 ············1.2.4··IO·methods\xd82 ············1.2.4··IO·methods\xd
83 ············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·Perm·object·is·simple:\xd83 ············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·Perm·object·is·simple:\xd
84 ············isPresent·size\xd84 ············isPresent·size\xd
85 ············oldToNew[size]·(if·present)\xd85 ············oldToNew[size]·(if·present)\xd
86 ············newToOld[size]·(if·present)\xd86 ············newToOld[size]·(if·present)\xd
87 ·······4··············PERM·:·DRAFT·January·15,·2021\xd87 ·······4··············PERM·:·DRAFT·February·18,·2022\xd
88 ········1.·int·Perm_readFromFile·(·Perm·*perm,·char·*fn·)·;\xd88 ········1.·int·Perm_readFromFile·(·Perm·*perm,·char·*fn·)·;\xd
89 ··········This·method·reads·a·Perm·object·from·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,·it\xd89 ··········This·method·reads·a·Perm·object·from·a·file.·It·tries·to·open·the·file·and·if·it·is·successful,·it\xd
90 ··········then·calls·Perm·readFromFormattedFile()·or·Perm·readFromBinaryFile(),·closes·the·file\xd90 ··········then·calls·Perm·readFromFormattedFile()·or·Perm·readFromBinaryFile(),·closes·the·file\xd
91 ··········and·returns·the·value·returned·from·the·called·routine.\xd91 ··········and·returns·the·value·returned·from·the·called·routine.\xd
92 ··········Error·checking:·If·perm·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.permf·(for·a·formatted\xd92 ··········Error·checking:·If·perm·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.permf·(for·a·formatted\xd
93 ··········file)·or·*.permb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd93 ··········file)·or·*.permb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd
94 ········2.·int·Perm_readFromFormattedFile·(·Perm·*perm,·FILE·*fp·)·;\xd94 ········2.·int·Perm_readFromFormattedFile·(·Perm·*perm,·FILE·*fp·)·;\xd
Offset 117, 15 lines modifiedOffset 117, 15 lines modified
117 ··········This·method·writes·out·a·Perm·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd117 ··········This·method·writes·out·a·Perm·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd
118 ··········data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd118 ··········data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd
119 ··········Error·checking:·If·perm·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd119 ··········Error·checking:·If·perm·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
120 ········7.·int·Perm_writeForHumanEye·(·Perm·*perm,·FILE·*fp·)·;\xd120 ········7.·int·Perm_writeForHumanEye·(·Perm·*perm,·FILE·*fp·)·;\xd
121 ··········This·method·writes·out·a·Perm·object·to·a·file·in·a·human·readable·format.·The·method\xd121 ··········This·method·writes·out·a·Perm·object·to·a·file·in·a·human·readable·format.·The·method\xd
122 ··········Perm·writeStats()·is·called·to·write·out·the·header·and·statistics.·The·value·1·is·returned.\xd122 ··········Perm·writeStats()·is·called·to·write·out·the·header·and·statistics.·The·value·1·is·returned.\xd
123 ··········Error·checking:·If·perm·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd123 ··········Error·checking:·If·perm·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
124 ·······································PERM·:·DRAFT··January·15,·2021····················5\xd124 ······································PERM·:·DRAFT···February·18,·2022···················5\xd
125 ···············8.·int·Perm_writeStats·(·Perm·*perm,·FILE·*fp·)·;\xd125 ···············8.·int·Perm_writeStats·(·Perm·*perm,·FILE·*fp·)·;\xd
126 ·················This·method·writes·out·a·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd126 ·················This·method·writes·out·a·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd
127 ·················Error·checking:·If·perm·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd127 ·················Error·checking:·If·perm·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
128 ·······Index\xd128 ·······Index\xd
129 ·······Perm·checkPerm(),·4\xd129 ·······Perm·checkPerm(),·4\xd
130 ·······Perm·clearData(),·3\xd130 ·······Perm·clearData(),·3\xd
131 ·······Perm·compress(),·4\xd131 ·······Perm·compress(),·4\xd
83.5 KB
./usr/share/doc/spooles-doc/ReferenceManual.ps.gz
200 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·29523811 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2953152
83.2 KB
ReferenceManual.ps
    
Offset 9, 15 lines modifiedOffset 9, 15 lines modified
9 %%+·CMR7·CMBX8·CMTT10·CMMI10·CMSL10·CMCSC10·CMEX10·CMSY10·CMSY7·CMMI79 %%+·CMR7·CMBX8·CMTT10·CMMI10·CMSL10·CMCSC10·CMEX10·CMSY10·CMSY7·CMMI7
10 %%+·CMTI10·CMTT12·CMMI12·CMTT8·CMEX7·Helvetica10 %%+·CMTI10·CMTT12·CMMI12·CMTT8·CMEX7·Helvetica
11 %%DocumentPaperSizes:·Letter11 %%DocumentPaperSizes:·Letter
12 %%EndComments12 %%EndComments
13 %DVIPSWebPage:·(www.radicaleye.com)13 %DVIPSWebPage:·(www.radicaleye.com)
14 %DVIPSCommandLine:·dvips·main·-o·ReferenceManual.ps14 %DVIPSCommandLine:·dvips·main·-o·ReferenceManual.ps
15 %DVIPSParameters:·dpi=60015 %DVIPSParameters:·dpi=600
16 %DVIPSSource:··TeX·output·2021.01.15:061416 %DVIPSSource:··TeX·output·2022.02.18:1444
17 %%BeginProcSet:·tex.pro·0·017 %%BeginProcSet:·tex.pro·0·0
18 %!18 %!
19 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S19 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
20 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7220 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
21 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·021 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
22 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{22 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
23 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize23 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 4400, 19 lines modifiedOffset 4400, 20 lines modified
4400 end·readonly·def4400 end·readonly·def
4401 /Encoding·256·array4401 /Encoding·256·array
4402 0·1·255·{1·index·exch·/.notdef·put}·for4402 0·1·255·{1·index·exch·/.notdef·put}·for
4403 dup·44·/comma·put4403 dup·44·/comma·put
4404 dup·48·/zero·put4404 dup·48·/zero·put
4405 dup·49·/one·put4405 dup·49·/one·put
4406 dup·50·/two·put4406 dup·50·/two·put
4407 dup·53·/five·put4407 dup·56·/eight·put
4408 dup·58·/colon·put4408 dup·58·/colon·put
4409 dup·74·/J·put4409 dup·70·/F·put
4410 dup·97·/a·put4410 dup·97·/a·put
 4411 dup·98·/b·put
4411 dup·110·/n·put4412 dup·101·/e·put
4412 dup·114·/r·put4413 dup·114·/r·put
4413 dup·117·/u·put4414 dup·117·/u·put
4414 dup·121·/y·put4415 dup·121·/y·put
4415 readonly·def4416 readonly·def
4416 currentdict·end4417 currentdict·end
4417 currentfile·eexec4418 currentfile·eexec
4418 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E74419 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 4596, 84 lines modifiedOffset 4597, 86 lines modified
4596 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A4597 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
4597 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380824598 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
4598 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E4599 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
4599 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A54600 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
4600 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B054601 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
4601 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C054602 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
4602 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97674603 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
4603 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7044604 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
4604 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
4605 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
4606 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
4607 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
4608 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
4609 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
4610 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
4611 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
4612 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
4613 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
4614 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
4615 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
4616 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
4617 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
4618 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
4619 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
4620 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
4621 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
4622 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
4623 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
4624 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
4625 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
4626 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
4627 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
4628 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
4629 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
4630 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
4631 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
4632 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
4633 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
4634 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
4635 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
4636 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
4637 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
4638 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
4639 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
4640 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
4641 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
4642 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
4643 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
4644 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
4645 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
4646 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
4647 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
4648 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
4649 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
4650 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
4651 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
4652 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
4653 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
4654 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
4655 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
4656 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
4657 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
4658 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
4659 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
4660 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
4661 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
4662 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
4663 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
4664 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
4665 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
4666 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
4667 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
4668 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
4669 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
4670 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
4671 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
4672 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE54605 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 4606 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 4607 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 4608 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 4609 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 4610 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 4611 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 4612 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 4613 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 4614 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 4615 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 4616 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 4617 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 4618 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 49679/60863 bytes (81.62%) of diff not shown.
23.8 KB
ps2ascii {}
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 ····························The·Reference·Manual·for·SPOOLES,·Release·2.2:\xd1 ····························The·Reference·Manual·for·SPOOLES,·Release·2.2:\xd
2 ·······························An·Object·Oriented·Software·Library·for·Solving\xd2 ·······························An·Object·Oriented·Software·Library·for·Solving\xd
3 ·········································Sparse·Linear·Systems·of·Equations\xd3 ·········································Sparse·Linear·Systems·of·Equations\xd
4 ············································1······················2·······················3··················4\xd4 ············································1······················2·······················3··················4\xd
5 ···························Cleve·Ashcraft··········Daniel·Pierce···········David·K.·Wah············Jason·Wu\xd5 ···························Cleve·Ashcraft··········Daniel·Pierce···········David·K.·Wah············Jason·Wu\xd
6 ···························································January·15,·2021\xd6 ···························································February·18,·2022\xd
7 ···················1Boeing·Shared·Services·Group,·P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,\xd7 ···················1Boeing·Shared·Services·Group,·P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,\xd
8 ·················cleve.ashcraft@boeing.com.·This·research·was·supported·in·part·by·the·DARPA·Contract·DABT63-95-C-0122\xd8 ·················cleve.ashcraft@boeing.com.·This·research·was·supported·in·part·by·the·DARPA·Contract·DABT63-95-C-0122\xd
9 ·················and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software·Support·Initiative.\xd9 ·················and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software·Support·Initiative.\xd
10 ···················2Boeing·Shared·Services·Group,·P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,\xd10 ···················2Boeing·Shared·Services·Group,·P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,\xd
11 ·················dpierce@redwood.rt.cs.boeing.com.···This·research·was·supported·in·part·by·the·DARPA·Contract·DABT63-\xd11 ·················dpierce@redwood.rt.cs.boeing.com.···This·research·was·supported·in·part·by·the·DARPA·Contract·DABT63-\xd
12 ·················95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software·Support\xd12 ·················95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software·Support\xd
13 ·················Initiative.\xd13 ·················Initiative.\xd
Offset 68, 15 lines modifiedOffset 68, 15 lines modified
68 ·······················3.2···Prototypes·and·descriptions·of·Coords·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············34\xd68 ·······················3.2···Prototypes·and·descriptions·of·Coords·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············34\xd
69 ·····························3.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········34\xd69 ·····························3.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········34\xd
70 ·····························3.2.2···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······35\xd70 ·····························3.2.2···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······35\xd
71 ·····························3.2.3···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······36\xd71 ·····························3.2.3···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······36\xd
72 ·····························3.2.4···IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······36\xd72 ·····························3.2.4···IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······36\xd
73 ·······················3.3···Driver·programs·for·the·Coords·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········37\xd73 ·······················3.3···Driver·programs·for·the·Coords·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········37\xd
74 ···············································································2\xd74 ···············································································2\xd
75 ····························································SPOOLES·2.2:············January·15,·2021········································3\xd75 ····························································SPOOLES·2.2·:···········February·18,·2022·······································3\xd
76 ···················4·DV:·Double·Vector·Object·····························································································39\xd76 ···················4·DV:·Double·Vector·Object·····························································································39\xd
77 ·······················4.1···Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······39\xd77 ·······················4.1···Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······39\xd
78 ·······················4.2···Prototypes·and·descriptions·of·DV·methods··········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···40\xd78 ·······················4.2···Prototypes·and·descriptions·of·DV·methods··········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···40\xd
79 ·····························4.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········40\xd79 ·····························4.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········40\xd
80 ·····························4.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······40\xd80 ·····························4.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······40\xd
81 ·····························4.2.3···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······41\xd81 ·····························4.2.3···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······41\xd
82 ·····························4.2.4···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······42\xd82 ·····························4.2.4···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······42\xd
Offset 109, 15 lines modifiedOffset 109, 15 lines modified
109 ·······················8.2···Prototypes·and·descriptions·of·IV·methods··········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···57\xd109 ·······················8.2···Prototypes·and·descriptions·of·IV·methods··········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···57\xd
110 ·····························8.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········57\xd110 ·····························8.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········57\xd
111 ·····························8.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······57\xd111 ·····························8.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······57\xd
112 ·····························8.2.3···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······58\xd112 ·····························8.2.3···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······58\xd
113 ·····························8.2.4···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······59\xd113 ·····························8.2.4···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······59\xd
114 ·····························8.2.5···IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······61\xd114 ·····························8.2.5···IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······61\xd
115 ·······················8.3···Driver·programs·for·the·IV·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········63\xd115 ·······················8.3···Driver·programs·for·the·IV·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········63\xd
116 ···················4··········································SPOOLES·2.2·:·January·15,·2021\xd116 ···················4·········································SPOOLES·2.2:·February·18,·2022\xd
117 ···················9·IVL:·Integer·Vector·List·Object······················································································64\xd117 ···················9·IVL:·Integer·Vector·List·Object······················································································64\xd
118 ·······················9.1···Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······64\xd118 ·······················9.1···Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······64\xd
119 ·······················9.2···Prototypes·and·descriptions·of·IVL·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···········65\xd119 ·······················9.2···Prototypes·and·descriptions·of·IVL·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···········65\xd
120 ·····························9.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········65\xd120 ·····························9.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········65\xd
121 ·····························9.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······66\xd121 ·····························9.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······66\xd
122 ·····························9.2.3···Initialization·and·resizing·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········66\xd122 ·····························9.2.3···Initialization·and·resizing·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········66\xd
123 ·····························9.2.4···List·manipulation·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········67\xd123 ·····························9.2.4···List·manipulation·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········67\xd
Offset 149, 15 lines modifiedOffset 149, 15 lines modified
149 ·······················13.1·Data·Structures·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······81\xd149 ·······················13.1·Data·Structures·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······81\xd
150 ·······················13.2·Prototypes·and·descriptions·of·Utilities·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············81\xd150 ·······················13.2·Prototypes·and·descriptions·of·Utilities·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············81\xd
151 ·····························13.2.1·CV·:·char·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········82\xd151 ·····························13.2.1·CV·:·char·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········82\xd
152 ·····························13.2.2·DV·:·double·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········82\xd152 ·····························13.2.2·DV·:·double·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········82\xd
153 ·····························13.2.3·ZV·:·double·complex·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············88\xd153 ·····························13.2.3·ZV·:·double·complex·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············88\xd
154 ·····························13.2.4·IV·:·int·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········94\xd154 ·····························13.2.4·IV·:·int·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········94\xd
155 ·····························13.2.5·FV·:·float·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········96\xd155 ·····························13.2.5·FV·:·float·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········96\xd
156 ························································SPOOLES·2.2:··········January·15,·2021···································5\xd156 ·······················································SPOOLES·2.2·:·········February·18,·2022···································5\xd
157 ···························13.2.6·PCV·:·char·*·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···99\xd157 ···························13.2.6·PCV·:·char·*·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···99\xd
158 ···························13.2.7·PDV·:·double·*·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···99\xd158 ···························13.2.7·PDV·:·double·*·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···99\xd
159 ···························13.2.8·PFV·:·float·*·vector·methods·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·100\xd159 ···························13.2.8·PFV·:·float·*·vector·methods·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·100\xd
160 ···························13.2.9·Sorting·routines····.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·100\xd160 ···························13.2.9·Sorting·routines····.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·100\xd
161 ···························13.2.10Sort·and·compress·routines·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·102\xd161 ···························13.2.10Sort·and·compress·routines·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·102\xd
162 ···························13.2.11IP·:·(int,·pointer)·singly·linked-list·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·103\xd162 ···························13.2.11IP·:·(int,·pointer)·singly·linked-list·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·103\xd
163 ···························13.2.12I2OP·:·(int,·int,·void*,·pointer)·singly·linked-list·methods·.·.·.·.·.·.·.·.·.·.·.·.·104\xd163 ···························13.2.12I2OP·:·(int,·int,·void*,·pointer)·singly·linked-list·methods·.·.·.·.·.·.·.·.·.·.·.·.·104\xd
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ···························16.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·121\xd186 ···························16.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·121\xd
187 ···························16.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd187 ···························16.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd
188 ···························16.2.3·Generate·induced·graphs······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd188 ···························16.2.3·Generate·induced·graphs······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd
189 ···························16.2.4·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd189 ···························16.2.4·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd
190 ···························16.2.5·Dulmage-Mendelsohn·decomposition·method·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·123\xd190 ···························16.2.5·Dulmage-Mendelsohn·decomposition·method·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·123\xd
191 ···························16.2.6·IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·123\xd191 ···························16.2.6·IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·123\xd
192 ·····················16.3·Driver·programs·for·the·BPG·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·124\xd192 ·····················16.3·Driver·programs·for·the·BPG·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·124\xd
193 ················6···································SPOOLES·2.2·:·January·15,·2021\xd193 ················6··································SPOOLES·2.2:·February·18,·2022\xd
194 ················17·DSTree:\xd194 ················17·DSTree:\xd
195 ···················ADomain/Separator·Tree·Object··································································126\xd195 ···················ADomain/Separator·Tree·Object··································································126\xd
196 ···················17.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·126\xd196 ···················17.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·126\xd
197 ···················17.2·Prototypes·and·descriptions·of·DSTree·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·126\xd197 ···················17.2·Prototypes·and·descriptions·of·DSTree·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·126\xd
198 ························17.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd198 ························17.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd
199 ························17.2.2·Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd199 ························17.2.2·Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd
200 ························17.2.3·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd200 ························17.2.3·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd
Offset 226, 15 lines modifiedOffset 226, 15 lines modified
226 ························19.2.11Parallel·factorization·map·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·148\xd226 ························19.2.11Parallel·factorization·map·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·148\xd
227 ························19.2.12Storage·profile·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·149\xd227 ························19.2.12Storage·profile·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·149\xd
228 ························19.2.13IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·150\xd228 ························19.2.13IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·150\xd
229 ···················19.3·Driver·programs·for·the·ETree·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·151\xd229 ···················19.3·Driver·programs·for·the·ETree·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·151\xd
230 ················20·GPart:·Graph·Partitioning·Object·······························································162\xd230 ················20·GPart:·Graph·Partitioning·Object·······························································162\xd
231 ···················20.1·Data·Structures·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·163\xd231 ···················20.1·Data·Structures·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·163\xd
232 ···················20.2·Prototypes·and·descriptions·of·GPart·methods···.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·164\xd232 ···················20.2·Prototypes·and·descriptions·of·GPart·methods···.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·164\xd
233 ·····················································SPOOLES·2.2:········January·15,·2021································7\xd233 ····················································SPOOLES·2.2·:········February·18,·2022·······························7\xd
234 ·························20.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·164\xd234 ·························20.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·164\xd
235 ·························20.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·165\xd235 ·························20.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·165\xd
236 ·························20.2.3·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·165\xd236 ·························20.2.3·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·165\xd
237 ·························20.2.4·Domain·decomposition·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·166\xd237 ·························20.2.4·Domain·decomposition·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·166\xd
238 ·························20.2.5·Methods·to·generate·a·2-set·partition··.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·167\xd238 ·························20.2.5·Methods·to·generate·a·2-set·partition··.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·167\xd
239 ·························20.2.6·Methods·to·improve·a·2-set·partition·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·167\xd239 ·························20.2.6·Methods·to·improve·a·2-set·partition·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·167\xd
240 ·························20.2.7·Recursive·Bisection·method·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·169\xd240 ·························20.2.7·Recursive·Bisection·method·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·169\xd
Offset 264, 15 lines modifiedOffset 264, 15 lines modified
264 ·························22.3.1·Basic·methods··public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·189\xd264 ·························22.3.1·Basic·methods··public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·189\xd
265 ·························22.3.2·Initialization·methods··public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd265 ·························22.3.2·Initialization·methods··public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd
266 ·························22.3.3·Ordering·methods··public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd266 ·························22.3.3·Ordering·methods··public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd
267 ·························22.3.4·Extraction·methods··public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd267 ·························22.3.4·Extraction·methods··public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd
268 ·························22.3.5·Internal·methods··private·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·191\xd268 ·························22.3.5·Internal·methods··private·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·191\xd
269 ····················22.4·Prototypes·and·descriptions·of·MSMDvtx·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·192\xd269 ····················22.4·Prototypes·and·descriptions·of·MSMDvtx·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·192\xd
270 ····················22.5·Driver·programs·for·the·MSMD·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·192\xd270 ····················22.5·Driver·programs·for·the·MSMD·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·192\xd
271 ················8··································SPOOLES·2.2·:·January·15,·2021\xd271 ················8··································SPOOLES·2.2:·February·18,·2022\xd
272 ················23·Network:·Simple·Max-flow·solver································································195\xd272 ················23·Network:·Simple·Max-flow·solver································································195\xd
273 ···················23.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·196\xd273 ···················23.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·196\xd
274 ···················23.2·Prototypes·and·descriptions·of·Network·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·197\xd274 ···················23.2·Prototypes·and·descriptions·of·Network·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·197\xd
275 ························23.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·197\xd275 ························23.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·197\xd
276 ························23.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·198\xd276 ························23.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·198\xd
277 ························23.2.3·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·198\xd277 ························23.2.3·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·198\xd
278 ························23.2.4·IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·199\xd278 ························23.2.4·IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·199\xd
Offset 303, 15 lines modifiedOffset 303, 15 lines modified
303 ················IV·Numeric·Objects·and·Methods···································································216\xd303 ················IV·Numeric·Objects·and·Methods···································································216\xd
304 ················26·Chv:·Block·chevron············································································217\xd304 ················26·Chv:·Block·chevron············································································217\xd
305 ···················26.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·219\xd305 ···················26.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·219\xd
306 ···················26.2·Prototypes·and·descriptions·of·Chv·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·219\xd306 ···················26.2·Prototypes·and·descriptions·of·Chv·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·219\xd
307 ························26.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·220\xd307 ························26.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·220\xd
308 ························26.2.2·Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·220\xd308 ························26.2.2·Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·220\xd
309 ························26.2.3·Initialization·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·222\xd309 ························26.2.3·Initialization·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·222\xd
310 ··················································SPOOLES·2.2:········January·15,·2021······························9\xd310 ··················································SPOOLES·2.2·:······February·18,·2022······························9\xd
311 ························26.2.4·Search·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·223\xd311 ························26.2.4·Search·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·223\xd
312 ························26.2.5·Pivot·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·224\xd312 ························26.2.5·Pivot·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·224\xd
313 ························26.2.6·Update·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·224\xd313 ························26.2.6·Update·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·224\xd
314 ························26.2.7·Assembly·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·225\xd314 ························26.2.7·Assembly·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·225\xd
315 ························26.2.8·Factorization·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·225\xd315 ························26.2.8·Factorization·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·225\xd
316 ························26.2.9·Copy·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·226\xd316 ························26.2.9·Copy·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·226\xd
317 ························26.2.10Swap·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·228\xd317 ························26.2.10Swap·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·228\xd
Offset 343, 15 lines modifiedOffset 343, 15 lines modified
343 ················30·FrontMtx:·Front·matrix········································································250\xd343 ················30·FrontMtx:·Front·matrix········································································250\xd
Max diff block lines reached; 7862/24305 bytes (32.35%) of diff not shown.
24.7 KB
./usr/share/doc/spooles-doc/SemiImplMtx.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2891971 gzip·compressed·data,·max·compression,·from·Unix,·original·size·289368
24.4 KB
SemiImplMtx.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMEX10·CMR7·CMMI78 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMEX10·CMR7·CMMI7
9 %%+·CMSY7·CMSY10·CMTI10·CMSL109 %%+·CMSY7·CMSY10·CMTI10·CMSL10
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·SemiImplMtx.ps13 %DVIPSCommandLine:·dvips·main·-o·SemiImplMtx.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 741, 19 lines modifiedOffset 741, 20 lines modified
741 end·readonly·def741 end·readonly·def
742 /Encoding·256·array742 /Encoding·256·array
743 0·1·255·{1·index·exch·/.notdef·put}·for743 0·1·255·{1·index·exch·/.notdef·put}·for
744 dup·44·/comma·put744 dup·44·/comma·put
745 dup·48·/zero·put745 dup·48·/zero·put
746 dup·49·/one·put746 dup·49·/one·put
747 dup·50·/two·put747 dup·50·/two·put
748 dup·53·/five·put748 dup·56·/eight·put
749 dup·58·/colon·put749 dup·58·/colon·put
750 dup·74·/J·put750 dup·70·/F·put
751 dup·97·/a·put751 dup·97·/a·put
 752 dup·98·/b·put
752 dup·110·/n·put753 dup·101·/e·put
753 dup·114·/r·put754 dup·114·/r·put
754 dup·117·/u·put755 dup·117·/u·put
755 dup·121·/y·put756 dup·121·/y·put
756 readonly·def757 readonly·def
757 currentdict·end758 currentdict·end
758 currentfile·eexec759 currentfile·eexec
759 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7760 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 937, 84 lines modifiedOffset 938, 86 lines modified
937 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A938 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
938 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082939 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
939 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E940 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
940 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5941 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
941 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05942 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
942 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05943 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
943 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767944 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
944 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704945 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
945 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
946 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
947 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
948 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
949 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
950 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
951 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
952 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
953 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
954 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
955 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
956 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
957 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
958 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
959 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
960 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
961 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
962 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
963 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
964 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
965 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
966 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
967 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
968 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
969 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
970 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
971 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
972 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
973 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
974 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
975 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
976 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
977 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
978 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
979 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
980 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
981 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
982 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
983 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
984 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
985 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
986 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
987 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
988 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
989 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
990 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
991 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
992 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
993 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
994 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
995 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
996 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
997 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
998 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
999 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1000 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1001 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1002 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1003 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1004 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1005 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1006 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1007 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1008 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1009 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1010 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1011 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1012 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1013 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5946 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 947 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 948 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 949 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 950 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 951 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 952 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 953 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 954 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 955 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 956 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 957 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 958 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 959 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 7702/18861 bytes (40.84%) of diff not shown.
5.97 KB
ps2ascii {}
    
Offset 51, 15 lines modifiedOffset 51, 15 lines modified
51 ·····················in·a·semi-implicit·form)·can·pay·off··storage·can·be·saved·when·the·number·of·entries·in·L····································and·U\xd51 ·····················in·a·semi-implicit·form)·can·pay·off··storage·can·be·saved·when·the·number·of·entries·in·L····································and·U\xd
52 ··············································································································································2,1·········1,2\xd52 ··············································································································································2,1·········1,2\xd
53 ·····················are·larger·than·the·number·of·entries·in·A····················and·A·.·The·number·of·solve·operations·is·reduced·by\xd53 ·····················are·larger·than·the·number·of·entries·in·A····················and·A·.·The·number·of·solve·operations·is·reduced·by\xd
54 ··············································································2,1··········1,2\xd54 ··············································································2,1··········1,2\xd
55 ·····················|L····|·+·|U·····|··2|D·····|··|A····|··|A·····|,·where·|···|·denotes·the·number·of·nonzeroes·in·a·matrix.\xd55 ·····················|L····|·+·|U·····|··2|D·····|··|A····|··|A·····|,·where·|···|·denotes·the·number·of·nonzeroes·in·a·matrix.\xd
56 ························2,1·······1,2··········1,1·······2,1········1,2\xd56 ························2,1·······1,2··········1,1·······2,1········1,2\xd
57 ·························································································1\xd57 ·························································································1\xd
58 ················2·································SemiImplMtx·:·DRAFT·January·15,·2021\xd58 ················2·································SemiImplMtx·:·DRAFT·February·18,·2022\xd
59 ················1.1······Data·Structure\xd59 ················1.1······Data·Structure\xd
60 ················The·SemiImplMtx·structure·has·the·following·fields.\xd60 ················The·SemiImplMtx·structure·has·the·following·fields.\xd
61 ·····················int·neqns·:·number·of·equations.\xd61 ·····················int·neqns·:·number·of·equations.\xd
62 ·····················int·type·:·type·of·entries,·SPOOLES·REAL·or·SPOOLES·COMPLEX.\xd62 ·····················int·type·:·type·of·entries,·SPOOLES·REAL·or·SPOOLES·COMPLEX.\xd
63 ·····················int·symmetryflag:·typeofmatrixsymmetry,SPOOLES·SYMMETRIC,SPOOLES·HERMITIANorSPOOLES·NONSYMMETRIC.\xd63 ·····················int·symmetryflag:·typeofmatrixsymmetry,SPOOLES·SYMMETRIC,SPOOLES·HERMITIANorSPOOLES·NONSYMMETRIC.\xd
64 ·····················int·ndomeqns·:·number·of·equations·in·the·domains,·or·(1,1)·block.\xd64 ·····················int·ndomeqns·:·number·of·equations·in·the·domains,·or·(1,1)·block.\xd
65 ·····················int·nschureqns·:·number·of·equations·in·the·Schur·complement,·or·(2,2)·block.\xd65 ·····················int·nschureqns·:·number·of·equations·in·the·Schur·complement,·or·(2,2)·block.\xd
Offset 95, 15 lines modifiedOffset 95, 15 lines modified
95 ······················Thismethodsetsthestructure’sfieldstodefaultvalues:·neqns=0,type=SPOOLES·REAL,symmetryflag\xd95 ······················Thismethodsetsthestructure’sfieldstodefaultvalues:·neqns=0,type=SPOOLES·REAL,symmetryflag\xd
96 ······················=SPOOLES·SYMMETRIC,ndomeqns=nschureqns=0,anddomainMtx,schurMtx,A21,A12,domRowsIV,\xd96 ······················=SPOOLES·SYMMETRIC,ndomeqns=nschureqns=0,anddomainMtx,schurMtx,A21,A12,domRowsIV,\xd
97 ······················schurRowsIV,·domColumnsIV·and·schurColumnsIV·are·all·set·to·NULL.\xd97 ······················schurRowsIV,·domColumnsIV·and·schurColumnsIV·are·all·set·to·NULL.\xd
98 ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd98 ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd
99 ···················3.·int·SemiImplMtx_clearData·(·SemiImplMtx·*mtx·)·;\xd99 ···················3.·int·SemiImplMtx_clearData·(·SemiImplMtx·*mtx·)·;\xd
100 ······················This·method·releases·all·storage·held·by·the·object.\xd100 ······················This·method·releases·all·storage·held·by·the·object.\xd
101 ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd101 ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd
102 ················································SemiImplMtx·:·DRAFT·······January·15,·2021····························3\xd102 ················································SemiImplMtx·:·DRAFT······February·18,·2022····························3\xd
103 ···················4.·int·SemiImplMtx_free·(·SemiImplMtx·*mtx·)·;\xd103 ···················4.·int·SemiImplMtx_free·(·SemiImplMtx·*mtx·)·;\xd
104 ······················This·method·releases·all·storage·held·by·the·object·via·a·call·to·SemiImplMtx·clearData(),·then·free’d\xd104 ······················This·method·releases·all·storage·held·by·the·object·via·a·call·to·SemiImplMtx·clearData(),·then·free’d\xd
105 ······················the·storage·for·the·object.\xd105 ······················the·storage·for·the·object.\xd
106 ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd106 ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd
107 ················1.2.2····Initialization·Methods\xd107 ················1.2.2····Initialization·Methods\xd
108 ···················1.·int·SemiImplMtx_initFromFrontMtx·(·SemiImplMtx·*semimtx,·FrontMtx·*frontmtx,\xd108 ···················1.·int·SemiImplMtx_initFromFrontMtx·(·SemiImplMtx·*semimtx,·FrontMtx·*frontmtx,\xd
109 ········································InpMtx·*inpmtx,·IV·*frontmapIV,·int·msglvl,·FILE·*msgFile)·;\xd109 ········································InpMtx·*inpmtx,·IV·*frontmapIV,·int·msglvl,·FILE·*msgFile)·;\xd
Offset 140, 15 lines modifiedOffset 140, 15 lines modified
140 ················1.2.3····Solve·Methods\xd140 ················1.2.3····Solve·Methods\xd
141 ···················1.·int·SemiImplMtx_solve·(·SemiImplMtx·*mtx,·DenseMtx·*X,·DenseMtx·*B,\xd141 ···················1.·int·SemiImplMtx_solve·(·SemiImplMtx·*mtx,·DenseMtx·*X,·DenseMtx·*B,\xd
142 ································SubMtxManager·*mtxmanager,·double·cpus[],·int·msglvl,·FILE·*msgFile·)·;\xd142 ································SubMtxManager·*mtxmanager,·double·cpus[],·int·msglvl,·FILE·*msgFile·)·;\xd
143 ······················This·methods·solves·a·linear·system·(L·+·I)D(I·+·U)X·=·B,·(UT·+·I)D(I·+·U)X·=·B·or·(UH·+\xd143 ······················This·methods·solves·a·linear·system·(L·+·I)D(I·+·U)X·=·B,·(UT·+·I)D(I·+·U)X·=·B·or·(UH·+\xd
144 ······················I)D(I·+·U)X·=·B,·where·X·and·B·are·DenseMtx·objects.·mtxmanager·is·an·object·to·handle·the\xd144 ······················I)D(I·+·U)X·=·B,·where·X·and·B·are·DenseMtx·objects.·mtxmanager·is·an·object·to·handle·the\xd
145 ······················working·SubMtx·objects·during·the·solve.·One·can·have·X·and·B·point·to·the·same·object,·for·entries\xd145 ······················working·SubMtx·objects·during·the·solve.·One·can·have·X·and·B·point·to·the·same·object,·for·entries\xd
146 ······················are·read·from·B·and·written·to·X.·On·return,·the·cpus[]·vector·contains·the·following·information.\xd146 ······················are·read·from·B·and·written·to·X.·On·return,·the·cpus[]·vector·contains·the·following·information.\xd
147 ··············4····························SemiImplMtx·:·DRAFT·January·15,·2021\xd147 ··············4····························SemiImplMtx·:·DRAFT·February·18,·2022\xd
148 ·······················cpus[0]··initialize·working·matrices···cpus[5]···compute·domains’·right·hand·side\xd148 ·······················cpus[0]··initialize·working·matrices···cpus[5]···compute·domains’·right·hand·side\xd
149 ·······················cpus[1]··load·right·hand·side··········cpus[6]···second·solve·with·domains\xd149 ·······················cpus[1]··load·right·hand·side··········cpus[6]···second·solve·with·domains\xd
150 ·······················cpus[2]··first·solve·with·domains·······cpus[7]···store·solution\xd150 ·······················cpus[2]··first·solve·with·domains·······cpus[7]···store·solution\xd
151 ·······················cpus[3]··compute·Schur·right·hand·side·cpus[8]···miscellaneous·time\xd151 ·······················cpus[3]··compute·Schur·right·hand·side·cpus[8]···miscellaneous·time\xd
152 ·······················cpus[4]··Schur·solve···················cpus[9]···total·time\xd152 ·······················cpus[4]··Schur·solve···················cpus[9]···total·time\xd
153 ···················Return·codes:\xd153 ···················Return·codes:\xd
154 ··········································1··normal·return···-3··B·is·NULL\xd154 ··········································1··normal·return···-3··B·is·NULL\xd
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ··············This·section·contains·brief·descriptions·of·the·driver·programs.\xd181 ··············This·section·contains·brief·descriptions·of·the·driver·programs.\xd
182 ·················1.·testGrid·msglvl·msgFile·n1·n2·n3·maxzeros·maxsize·seed·type·symmetryflag\xd182 ·················1.·testGrid·msglvl·msgFile·n1·n2·n3·maxzeros·maxsize·seed·type·symmetryflag\xd
183 ····························sparsityflag·pivotingflag·tau·droptol·nrhs·depth\xd183 ····························sparsityflag·pivotingflag·tau·droptol·nrhs·depth\xd
184 ···················This·driver·program·tests·the·SemiImplMtx·creation·and·solve·methods·for·a·matrix·from·a·regular\xd184 ···················This·driver·program·tests·the·SemiImplMtx·creation·and·solve·methods·for·a·matrix·from·a·regular\xd
185 ···················2-D·or·3-D·grid.·The·matrix·can·be·real·or·complex·and·is·loaded·with·random·entries.·The·linear\xd185 ···················2-D·or·3-D·grid.·The·matrix·can·be·real·or·complex·and·is·loaded·with·random·entries.·The·linear\xd
186 ···················system·AX·=B·is·solved·as·follows.\xd186 ···················system·AX·=B·is·solved·as·follows.\xd
187 ······················First·A·is·factored,·and·a·FrontMtx·object·is·created·to·hold·the·factorization.\xd187 ······················First·A·is·factored,·and·a·FrontMtx·object·is·created·to·hold·the·factorization.\xd
188 ········································SemiImplMtx·:·DRAFT···January·15,·2021····················5\xd188 ········································SemiImplMtx·:·DRAFT··February·18,·2022····················5\xd
189 ·····················The·system·is·solved·using·the·FrontMtx·object.\xd189 ·····················The·system·is·solved·using·the·FrontMtx·object.\xd
190 ·····················A·SemiImplMtx·matrix·object·is·constructed·from·the·FrontMtx·object·and·A.\xd190 ·····················A·SemiImplMtx·matrix·object·is·constructed·from·the·FrontMtx·object·and·A.\xd
191 ·····················The·system·is·solved·using·the·SemiImplMtx·object.\xd191 ·····················The·system·is·solved·using·the·SemiImplMtx·object.\xd
192 ··················Various·statistics·and·CPU·timings·are·written·to·the·message·file·to·compare·the·two·solution·pro-\xd192 ··················Various·statistics·and·CPU·timings·are·written·to·the·message·file·to·compare·the·two·solution·pro-\xd
193 ··················cesses.·Use·the·do·grid·shell·script·for·testing.\xd193 ··················cesses.·Use·the·do·grid·shell·script·for·testing.\xd
194 ·····················The·msglvl·parameter·determines·the·amount·of·output.\xd194 ·····················The·msglvl·parameter·determines·the·amount·of·output.\xd
195 ·····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd195 ·····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the·message\xd
36.6 KB
./usr/share/doc/spooles-doc/SolveMap.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2588181 gzip·compressed·data,·max·compression,·from·Unix,·original·size·258997
36.4 KB
SolveMap.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMTT8·CMMI88 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMTT8·CMMI8
9 %%+·CMSY10·CMBX10·CMSL109 %%+·CMSY10·CMBX10·CMSL10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·SolveMap.ps13 %DVIPSCommandLine:·dvips·main·-o·SolveMap.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 738, 19 lines modifiedOffset 738, 20 lines modified
738 end·readonly·def738 end·readonly·def
739 /Encoding·256·array739 /Encoding·256·array
740 0·1·255·{1·index·exch·/.notdef·put}·for740 0·1·255·{1·index·exch·/.notdef·put}·for
741 dup·44·/comma·put741 dup·44·/comma·put
742 dup·48·/zero·put742 dup·48·/zero·put
743 dup·49·/one·put743 dup·49·/one·put
744 dup·50·/two·put744 dup·50·/two·put
745 dup·53·/five·put745 dup·56·/eight·put
746 dup·58·/colon·put746 dup·58·/colon·put
747 dup·74·/J·put747 dup·70·/F·put
748 dup·97·/a·put748 dup·97·/a·put
 749 dup·98·/b·put
749 dup·110·/n·put750 dup·101·/e·put
750 dup·114·/r·put751 dup·114·/r·put
751 dup·117·/u·put752 dup·117·/u·put
752 dup·121·/y·put753 dup·121·/y·put
753 readonly·def754 readonly·def
754 currentdict·end755 currentdict·end
755 currentfile·eexec756 currentfile·eexec
756 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7757 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 934, 84 lines modifiedOffset 935, 86 lines modified
934 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A935 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
935 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082936 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
936 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E937 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
937 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5938 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
938 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05939 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
939 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05940 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
940 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767941 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
941 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704942 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
942 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
943 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
944 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
945 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
946 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
947 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
948 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
949 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
950 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
951 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
952 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
953 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
954 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
955 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
956 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
957 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
958 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
959 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
960 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
961 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
962 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
963 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
964 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
965 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
966 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
967 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
968 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
969 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
970 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
971 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
972 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
973 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
974 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
975 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
976 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
977 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
978 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
979 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
980 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
981 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
982 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
983 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
984 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
985 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
986 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
987 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
988 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
989 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
990 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
991 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
992 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
993 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
994 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
995 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
996 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
997 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
998 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
999 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1000 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1001 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1002 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1003 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1004 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1005 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1006 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1007 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1008 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1009 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1010 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5943 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 944 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 945 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 946 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 947 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 948 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 949 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 950 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 951 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 952 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 953 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 954 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 955 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 956 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 17525/28672 bytes (61.12%) of diff not shown.
8.35 KB
ps2ascii {}
    
Offset 19, 15 lines modifiedOffset 19, 15 lines modified
19 ·················int·nproc··number·of·threads·or·processes\xd19 ·················int·nproc··number·of·threads·or·processes\xd
20 ·················int·*owners··vector·mapping·fronts·to·owning·threads·or·processes\xd20 ·················int·*owners··vector·mapping·fronts·to·owning·threads·or·processes\xd
21 ·················int·nblockUpper··number·of·submatrices·in·the·upper·triangle\xd21 ·················int·nblockUpper··number·of·submatrices·in·the·upper·triangle\xd
22 ·················int·*rowidsUpper··vector·of·row·ids·for·the·upper·triangle\xd22 ·················int·*rowidsUpper··vector·of·row·ids·for·the·upper·triangle\xd
23 ·················int·*colidsUpper··vector·of·column·ids·for·the·upper·triangle\xd23 ·················int·*colidsUpper··vector·of·column·ids·for·the·upper·triangle\xd
24 ·················int·*mapUpper··map·from·submatrices·to·threads·or·processes\xd24 ·················int·*mapUpper··map·from·submatrices·to·threads·or·processes\xd
25 ·······················································1\xd25 ·······················································1\xd
26 ··············2··························SolveMap·:·DRAFT·January·15,·2021\xd26 ··············2··························SolveMap·:·DRAFT·February·18,·2022\xd
27 ··················int·nblockLower··number·of·submatrices·in·the·lower·triangle\xd27 ··················int·nblockLower··number·of·submatrices·in·the·lower·triangle\xd
28 ··················int·*rowidsLower··vector·of·row·ids·for·the·lower·triangle\xd28 ··················int·*rowidsLower··vector·of·row·ids·for·the·lower·triangle\xd
29 ··················int·*colidsLower··vector·of·column·ids·for·the·lower·triangle\xd29 ··················int·*colidsLower··vector·of·column·ids·for·the·lower·triangle\xd
30 ··················int·*mapLower··map·from·submatrices·to·threads·or·processes·processes\xd30 ··················int·*mapLower··map·from·submatrices·to·threads·or·processes·processes\xd
31 ··············1.2···Prototypes·and·descriptions·of·SolveMap·methods\xd31 ··············1.2···Prototypes·and·descriptions·of·SolveMap·methods\xd
32 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd32 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
33 ··············SolveMap·object.\xd33 ··············SolveMap·object.\xd
Offset 50, 15 lines modifiedOffset 50, 15 lines modified
50 ···················This·method·releases·any·storage·by·a·call·to·SolveMap·clearData()·then·free’s·the·storage\xd50 ···················This·method·releases·any·storage·by·a·call·to·SolveMap·clearData()·then·free’s·the·storage\xd
51 ···················for·the·structure·with·a·call·to·free().\xd51 ···················for·the·structure·with·a·call·to·free().\xd
52 ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd52 ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
53 ··············1.2.2··Instance·methods\xd53 ··············1.2.2··Instance·methods\xd
54 ················1.·int·SolveMap_symmetryflag·(·SolveMap·*solvemap·)·;\xd54 ················1.·int·SolveMap_symmetryflag·(·SolveMap·*solvemap·)·;\xd
55 ···················This·method·returns·symmetryflag,·the·symmetry·flag.\xd55 ···················This·method·returns·symmetryflag,·the·symmetry·flag.\xd
56 ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd56 ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
57 ·····································SolveMap·:·DRAFT··January·15,·2021··················3\xd57 ····································SolveMap·:·DRAFT···February·18,·2022·················3\xd
58 ···············2.·int·SolveMap_nfront·(·SolveMap·*solvemap·)·;\xd58 ···············2.·int·SolveMap_nfront·(·SolveMap·*solvemap·)·;\xd
59 ·················This·method·returns·nfront,·the·number·of·fronts.\xd59 ·················This·method·returns·nfront,·the·number·of·fronts.\xd
60 ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd60 ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
61 ···············3.·int·SolveMap_nproc·(·SolveMap·*solvemap·)·;\xd61 ···············3.·int·SolveMap_nproc·(·SolveMap·*solvemap·)·;\xd
62 ·················This·method·returns·nproc,·the·number·of·threads·or·processes.\xd62 ·················This·method·returns·nproc,·the·number·of·threads·or·processes.\xd
63 ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd63 ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
64 ···············4.·int·SolveMap_nblockUpper·(·SolveMap·*solvemap·)·;\xd64 ···············4.·int·SolveMap_nblockUpper·(·SolveMap·*solvemap·)·;\xd
Offset 84, 15 lines modifiedOffset 84, 15 lines modified
84 ·················This·method·returns·mapUpper,·a·pointer·to·the·vector·that·maps·the·submatrices·in·the\xd84 ·················This·method·returns·mapUpper,·a·pointer·to·the·vector·that·maps·the·submatrices·in·the\xd
85 ·················upper·triangle·to·threads·or·processes.\xd85 ·················upper·triangle·to·threads·or·processes.\xd
86 ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd86 ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
87 ··············10.·int·*·SolveMap_rowidsLower·(·SolveMap·*solvemap·)·;\xd87 ··············10.·int·*·SolveMap_rowidsLower·(·SolveMap·*solvemap·)·;\xd
88 ·················This·method·returns·rowidsLower,·a·pointer·to·the·vector·of·row·ids·of·the·submatrices·in\xd88 ·················This·method·returns·rowidsLower,·a·pointer·to·the·vector·of·row·ids·of·the·submatrices·in\xd
89 ·················the·lower·triangle.\xd89 ·················the·lower·triangle.\xd
90 ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd90 ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
91 ··············4··························SolveMap·:·DRAFT·January·15,·2021\xd91 ··············4··························SolveMap·:·DRAFT·February·18,·2022\xd
92 ···············11.·int·*·SolveMap_colidsLower·(·SolveMap·*solvemap·)·;\xd92 ···············11.·int·*·SolveMap_colidsLower·(·SolveMap·*solvemap·)·;\xd
93 ···················This·method·returns·colidsLower,·a·pointer·to·the·vector·of·column·ids·of·the·submatrices\xd93 ···················This·method·returns·colidsLower,·a·pointer·to·the·vector·of·column·ids·of·the·submatrices\xd
94 ···················in·the·upper·triangle.\xd94 ···················in·the·upper·triangle.\xd
95 ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd95 ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
96 ···············12.·int·*·SolveMap_mapLower·(·SolveMap·*solvemap·)·;\xd96 ···············12.·int·*·SolveMap_mapLower·(·SolveMap·*solvemap·)·;\xd
97 ···················This·method·returns·mapLower,·a·pointer·to·the·vector·that·maps·the·submatrices·in·the\xd97 ···················This·method·returns·mapLower,·a·pointer·to·the·vector·that·maps·the·submatrices·in·the\xd
98 ···················upper·triangle·to·threads·or·processes.\xd98 ···················upper·triangle·to·threads·or·processes.\xd
Offset 118, 15 lines modifiedOffset 118, 15 lines modified
118 ···················fashion.·A·domain·is·a·subtree·of·fronts·that·are·owned·by·the·same·thread·or·process.\xd118 ···················fashion.·A·domain·is·a·subtree·of·fronts·that·are·owned·by·the·same·thread·or·process.\xd
119 ···················Furthermore,·a·domain·is·maximal,·i.e.,·the·parent·of·the·root·domain·(if·it·exists)·is·owned\xd119 ···················Furthermore,·a·domain·is·maximal,·i.e.,·the·parent·of·the·root·domain·(if·it·exists)·is·owned\xd
120 ···················by·a·different·process.·If·J·belongs·to·a·domain,·then·for·all·K,·LK,J·and·UJ,K·are·owned·by\xd120 ···················by·a·different·process.·If·J·belongs·to·a·domain,·then·for·all·K,·LK,J·and·UJ,K·are·owned·by\xd
121 ···················the·thread·or·process·that·owns·the·domain.·All·other·submatrices·are·mapped·to·threads·or\xd121 ···················the·thread·or·process·that·owns·the·domain.·All·other·submatrices·are·mapped·to·threads·or\xd
122 ···················processes·in·a·random·fashion.\xd122 ···················processes·in·a·random·fashion.\xd
123 ···················Error·checking:·If·solvemap,·upperBlockIVL·or·ownersIV·is·NULL,·or·if·symmetryflag·is\xd123 ···················Error·checking:·If·solvemap,·upperBlockIVL·or·ownersIV·is·NULL,·or·if·symmetryflag·is\xd
124 ···················invalid,·an·error·message·is·printed·and·the·program·exits.\xd124 ···················invalid,·an·error·message·is·printed·and·the·program·exits.\xd
125 ··············································SolveMap·:·DRAFT·······January·15,·2021··························5\xd125 ·············································SolveMap·:·DRAFT·······February·18,·2022··························5\xd
126 ···············1.2.5····Solve·setup·methods\xd126 ···············1.2.5····Solve·setup·methods\xd
127 ··················1.·IP·**·SolveMap_forwardSetup·(·SolveMap·*solvemap,·int·myid,\xd127 ··················1.·IP·**·SolveMap_forwardSetup·(·SolveMap·*solvemap,·int·myid,\xd
128 ·························································int·msglvl,·FILE·*msgFile·)·;\xd128 ·························································int·msglvl,·FILE·*msgFile·)·;\xd
129 ·····················IP·**·SolveMap_backwardSetup·(·SolveMap·*solvemap,·int·myid,\xd129 ·····················IP·**·SolveMap_backwardSetup·(·SolveMap·*solvemap,·int·myid,\xd
130 ·························································int·msglvl,·FILE·*msgFile·)·;\xd130 ·························································int·msglvl,·FILE·*msgFile·)·;\xd
131 ·····················ThesetwomethodsreturnavectorofpointerstoIPobjectsthatcontainthelistofsubmatrices\xd131 ·····················ThesetwomethodsreturnavectorofpointerstoIPobjectsthatcontainthelistofsubmatrices\xd
132 ·····················that·thread·or·process·myid·will·use·during·the·forward·or·backward·solves.\xd132 ·····················that·thread·or·process·myid·will·use·during·the·forward·or·backward·solves.\xd
Offset 157, 15 lines modifiedOffset 157, 15 lines modified
157 ·····················submatrices·process·myid·expects·for·front·J.\xd157 ·····················submatrices·process·myid·expects·for·front·J.\xd
158 ·····················Error·checking:·If·solvemap·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the\xd158 ·····················Error·checking:·If·solvemap·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the\xd
159 ·····················program·exits.\xd159 ·····················program·exits.\xd
160 ··················5.·IV·*·SolveMap_lowerAggregateIV·(·SolveMap·*solvemap,·int·myid\xd160 ··················5.·IV·*·SolveMap_lowerAggregateIV·(·SolveMap·*solvemap,·int·myid\xd
161 ··························································int·msglvl,·FILE·*msgFile·)·;\xd161 ··························································int·msglvl,·FILE·*msgFile·)·;\xd
162 ·····················This·method·returns·an·IV·object·that·contains·the·aggregate·count·for·a·forward·solve.·If\xd162 ·····················This·method·returns·an·IV·object·that·contains·the·aggregate·count·for·a·forward·solve.·If\xd
163 ·····················myid·owns·front·J,·then·entry·J·of·the·returned·IV·object·contains·the·number·of·processes\xd163 ·····················myid·owns·front·J,·then·entry·J·of·the·returned·IV·object·contains·the·number·of·processes\xd
164 ···············6·····························SolveMap·:·DRAFT·January·15,·2021\xd164 ···············6·····························SolveMap·:·DRAFT·February·18,·2022\xd
165 ····················(other·than·myid)·that·own·an·L···submatrix,·(or·U···submatrix·if·symmetric·or·hermitian)\xd165 ····················(other·than·myid)·that·own·an·L···submatrix,·(or·U···submatrix·if·symmetric·or·hermitian)\xd
166 ···················································J,I················I,J\xd166 ···················································J,I················I,J\xd
167 ····················and·so·is·the·number·of·incoming·aggregate·submatrices·process·myid·expects·for·front·J.\xd167 ····················and·so·is·the·number·of·incoming·aggregate·submatrices·process·myid·expects·for·front·J.\xd
168 ····················Error·checking:·If·solvemap·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the\xd168 ····················Error·checking:·If·solvemap·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the\xd
169 ····················program·exits.\xd169 ····················program·exits.\xd
170 ···············1.2.7···IO·methods\xd170 ···············1.2.7···IO·methods\xd
171 ···············TherearetheusualeightIOroutines.·ThefilestructureofaSolveMapobjectissimple:·symmetryflag,\xd171 ···············TherearetheusualeightIOroutines.·ThefilestructureofaSolveMapobjectissimple:·symmetryflag,\xd
Offset 194, 15 lines modifiedOffset 194, 15 lines modified
194 ····················Error·checking:·If·solvemap·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.solvemapf·(for·a\xd194 ····················Error·checking:·If·solvemap·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.solvemapf·(for·a\xd
195 ····················formatted·file)·or·*.solvemapb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd195 ····················formatted·file)·or·*.solvemapb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd
196 ····················returns·zero.\xd196 ····················returns·zero.\xd
197 ··················5.·int·SolveMap_writeToFormattedFile·(·SolveMap·*solvemap,·FILE·*fp·)·;\xd197 ··················5.·int·SolveMap_writeToFormattedFile·(·SolveMap·*solvemap,·FILE·*fp·)·;\xd
198 ····················This·method·writes·an·SolveMap·object·to·a·formatted·file.·If·there·are·no·errors·in·writing\xd198 ····················This·method·writes·an·SolveMap·object·to·a·formatted·file.·If·there·are·no·errors·in·writing\xd
199 ····················the·data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd199 ····················the·data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd
200 ····················Error·checking:·If·solvemap·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd200 ····················Error·checking:·If·solvemap·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
201 ·····································SolveMap·:·DRAFT··January·15,·2021··················7\xd201 ····································SolveMap·:·DRAFT···February·18,·2022·················7\xd
202 ···············6.·int·SolveMap_writeToBinaryFile·(·SolveMap·*solvemap,·FILE·*fp·)·;\xd202 ···············6.·int·SolveMap_writeToBinaryFile·(·SolveMap·*solvemap,·FILE·*fp·)·;\xd
203 ·················This·method·writes·an·SolveMap·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd203 ·················This·method·writes·an·SolveMap·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd
204 ·················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd204 ·················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd
205 ·················Error·checking:·If·solvemap·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd205 ·················Error·checking:·If·solvemap·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd
206 ···············7.·int·SolveMap_writeForHumanEye·(·SolveMap·*solvemap,·FILE·*fp·)·;\xd206 ···············7.·int·SolveMap_writeForHumanEye·(·SolveMap·*solvemap,·FILE·*fp·)·;\xd
207 ·················This·method·writes·an·SolveMap·object·to·a·file·in·an·easily·readable·format.·The·method\xd207 ·················This·method·writes·an·SolveMap·object·to·a·file·in·an·easily·readable·format.·The·method\xd
208 ·················SolveMap·writeStats()·is·called·to·write·out·the·header·and·statistics.·The·value·1·is\xd208 ·················SolveMap·writeStats()·is·called·to·write·out·the·header·and·statistics.·The·value·1·is\xd
62.7 KB
./usr/share/doc/spooles-doc/SubMtx.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3729821 gzip·compressed·data,·max·compression,·from·Unix,·original·size·373226
62.4 KB
SubMtx.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMMI8·CMSY8·CMSY108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMMI10·CMMI8·CMSY8·CMSY10
9 %%+·CMBX10·CMSL10·CMTI10·CMR8·CMEX109 %%+·CMBX10·CMSL10·CMTI10·CMR8·CMEX10
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·SubMtx.ps13 %DVIPSCommandLine:·dvips·main·-o·SubMtx.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1660, 19 lines modifiedOffset 1660, 20 lines modified
1660 end·readonly·def1660 end·readonly·def
1661 /Encoding·256·array1661 /Encoding·256·array
1662 0·1·255·{1·index·exch·/.notdef·put}·for1662 0·1·255·{1·index·exch·/.notdef·put}·for
1663 dup·44·/comma·put1663 dup·44·/comma·put
1664 dup·48·/zero·put1664 dup·48·/zero·put
1665 dup·49·/one·put1665 dup·49·/one·put
1666 dup·50·/two·put1666 dup·50·/two·put
1667 dup·53·/five·put1667 dup·56·/eight·put
1668 dup·58·/colon·put1668 dup·58·/colon·put
1669 dup·74·/J·put1669 dup·70·/F·put
1670 dup·97·/a·put1670 dup·97·/a·put
 1671 dup·98·/b·put
1671 dup·110·/n·put1672 dup·101·/e·put
1672 dup·114·/r·put1673 dup·114·/r·put
1673 dup·117·/u·put1674 dup·117·/u·put
1674 dup·121·/y·put1675 dup·121·/y·put
1675 readonly·def1676 readonly·def
1676 currentdict·end1677 currentdict·end
1677 currentfile·eexec1678 currentfile·eexec
1678 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71679 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1856, 84 lines modifiedOffset 1857, 86 lines modified
1856 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1857 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1857 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821858 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1858 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1859 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1859 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51860 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1860 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051861 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1861 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051862 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1862 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671863 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1863 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041864 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1864 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1865 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1866 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1867 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1868 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1869 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1870 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1871 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1872 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1873 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1874 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1875 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1876 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1877 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1878 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1879 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1880 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1881 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1882 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1883 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1884 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1885 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1886 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1887 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1888 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1889 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1890 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1891 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1892 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1893 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1894 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1895 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1896 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1897 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1898 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1899 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1900 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1901 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1902 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1903 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1904 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1905 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1906 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1907 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1908 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1909 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1910 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1911 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1912 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1913 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1914 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1915 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1916 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1917 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1918 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1919 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1920 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1921 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1922 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1923 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1924 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1925 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1926 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1927 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1928 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1929 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1930 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1931 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1932 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51865 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1866 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1867 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1868 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1869 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1870 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1871 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1872 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1873 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1874 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1875 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1876 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1877 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1878 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 29669/40834 bytes (72.66%) of diff not shown.
22.5 KB
ps2ascii {}
    
Offset 23, 15 lines modifiedOffset 23, 15 lines modified
23 ············dense·by·columns,·i.e.,·dense·and·column·major\xd23 ············dense·by·columns,·i.e.,·dense·and·column·major\xd
24 ············sparse·using·dense·subrows\xd24 ············sparse·using·dense·subrows\xd
25 ············sparse·using·dense·subcolumns\xd25 ············sparse·using·dense·subcolumns\xd
26 ············sparse·using·sparse·rows\xd26 ············sparse·using·sparse·rows\xd
27 ············sparse·using·sparse·columns\xd27 ············sparse·using·sparse·columns\xd
28 ············sparse·using·(i,j,ai,j)·triples\xd28 ············sparse·using·(i,j,ai,j)·triples\xd
29 ·····························1\xd29 ·····························1\xd
30 ···········2······················SubMtx·:·DRAFT·January·15,·2021\xd30 ···········2······················SubMtx·:·DRAFT·February·18,·2022\xd
31 ··················a·diagonal·matrix\xd31 ··················a·diagonal·matrix\xd
32 ··················a·block·diagonal·symmetric·matrix·where·the·blocks·are·1·×·1·or·2·×·2,·used·in·the\xd32 ··················a·block·diagonal·symmetric·matrix·where·the·blocks·are·1·×·1·or·2·×·2,·used·in·the\xd
33 ···················symmetric·indefinite·factorization.\xd33 ···················symmetric·indefinite·factorization.\xd
34 ··················a·block·diagonal·Hermitian·matrix·where·the·blocks·are·1·×·1·or·2·×·2,·used·in·the\xd34 ··················a·block·diagonal·Hermitian·matrix·where·the·blocks·are·1·×·1·or·2·×·2,·used·in·the\xd
35 ···················hermitian·indefinite·factorization.\xd35 ···················hermitian·indefinite·factorization.\xd
36 ··············The·SubMtx·object·can·be·self-contained,·in·the·sense·that·its·structure·contains·a·DV·object\xd36 ··············The·SubMtx·object·can·be·self-contained,·in·the·sense·that·its·structure·contains·a·DV·object\xd
37 ···············that·manages·a·contiguous·vector·of·workspace·that·is·used·to·store·all·information·about·the\xd37 ···············that·manages·a·contiguous·vector·of·workspace·that·is·used·to·store·all·information·about·the\xd
Offset 60, 15 lines modifiedOffset 60, 15 lines modified
60 ···········information·is·better·than·using·explicit·structure·fields.·For·example,·if·we·want·to·extend·the\xd60 ···········information·is·better·than·using·explicit·structure·fields.·For·example,·if·we·want·to·extend·the\xd
61 ···········object·by·allowing·another·storage·format,·we·do·not·need·to·increase·the·size·of·the·structure·at\xd61 ···········object·by·allowing·another·storage·format,·we·do·not·need·to·increase·the·size·of·the·structure·at\xd
62 ···········all··it·is·only·necessary·to·provide·one·or·more·instance·methods·to·return·the·new·information.\xd62 ···········all··it·is·only·necessary·to·provide·one·or·more·instance·methods·to·return·the·new·information.\xd
63 ···········1.1··Data·Structure\xd63 ···········1.1··Data·Structure\xd
64 ···········The·SubMtx·structure·has·the·following·fields.\xd64 ···········The·SubMtx·structure·has·the·following·fields.\xd
65 ··············int·type·:·type·of·entries.\xd65 ··············int·type·:·type·of·entries.\xd
66 ··················SPOOLES·REAL·:·double·precision·real·entries.\xd66 ··················SPOOLES·REAL·:·double·precision·real·entries.\xd
67 ·····································SubMtx·:·DRAFT···January·15,·2021···················3\xd67 ·····································SubMtx·:·DRAFT··February·18,·2022···················3\xd
68 ····················SPOOLES·COMPLEX·:·double·precision·complex·entries.\xd68 ····················SPOOLES·COMPLEX·:·double·precision·complex·entries.\xd
69 ················int·mode·:·storage·mode.\xd69 ················int·mode·:·storage·mode.\xd
70 ····················SUBMTX·DENSE·ROWS·:·dense,·storage·by·rows.\xd70 ····················SUBMTX·DENSE·ROWS·:·dense,·storage·by·rows.\xd
71 ····················SUBMTX·DENSE·COLUMNS·:·dense,·storage·by·columns.\xd71 ····················SUBMTX·DENSE·COLUMNS·:·dense,·storage·by·columns.\xd
72 ····················SUBMTX·SPARSE·ROWS·:·sparse,·storage·by·rows.\xd72 ····················SUBMTX·SPARSE·ROWS·:·sparse,·storage·by·rows.\xd
73 ····················SUBMTX·SPARSE·COLUMNS·:·sparse,·storage·by·columns.\xd73 ····················SUBMTX·SPARSE·COLUMNS·:·sparse,·storage·by·columns.\xd
74 ····················SUBMTX·SPARSE·TRIPLES·:·sparse,·storage·by·(i,j,ai,j)·triples.\xd74 ····················SUBMTX·SPARSE·TRIPLES·:·sparse,·storage·by·(i,j,ai,j)·triples.\xd
Offset 92, 15 lines modifiedOffset 92, 15 lines modified
92 ················SUBMTX·IS·DENSE·ROWS(mtx)is·1·if·mtx·has·dense·rows·as·its·storage·format,·and·0·otherwise.\xd92 ················SUBMTX·IS·DENSE·ROWS(mtx)is·1·if·mtx·has·dense·rows·as·its·storage·format,·and·0·otherwise.\xd
93 ················SUBMTX·IS·DENSE·COLUMNS(mtx)·is·1·if·mtx·has·dense·columns·as·its·storage·format,·and·0\xd93 ················SUBMTX·IS·DENSE·COLUMNS(mtx)·is·1·if·mtx·has·dense·columns·as·its·storage·format,·and·0\xd
94 ·················otherwise.\xd94 ·················otherwise.\xd
95 ················SUBMTX·IS·SPARSE·ROWS(mtx)·is·1·if·mtx·has·sparse·rows·as·its·storage·format,·and·0·other-\xd95 ················SUBMTX·IS·SPARSE·ROWS(mtx)·is·1·if·mtx·has·sparse·rows·as·its·storage·format,·and·0·other-\xd
96 ·················wise.\xd96 ·················wise.\xd
97 ················SUBMTX·IS·SPARSE·COLUMNS(mtx)·is·1·if·mtx·has·sparse·columns·as·its·storage·format,·and·0\xd97 ················SUBMTX·IS·SPARSE·COLUMNS(mtx)·is·1·if·mtx·has·sparse·columns·as·its·storage·format,·and·0\xd
98 ·················otherwise.\xd98 ·················otherwise.\xd
99 ··············4···························SubMtx·:·DRAFT·January·15,·2021\xd99 ··············4···························SubMtx·:·DRAFT·February·18,·2022\xd
100 ··················SUBMTX·IS·SPARSE·TRIPLES(mtx)·is·1·if·mtx·has·sparse·triples·as·its·storage·format,·0·other-\xd100 ··················SUBMTX·IS·SPARSE·TRIPLES(mtx)·is·1·if·mtx·has·sparse·triples·as·its·storage·format,·0·other-\xd
101 ··················wise.\xd101 ··················wise.\xd
102 ··················SUBMTX·IS·DENSE·SUBROWS(mtx)·is·1·if·mtx·has·dense·subrows·as·its·storage·format,·0·other-\xd102 ··················SUBMTX·IS·DENSE·SUBROWS(mtx)·is·1·if·mtx·has·dense·subrows·as·its·storage·format,·0·other-\xd
103 ··················wise.\xd103 ··················wise.\xd
104 ··················SUBMTX·IS·DENSE·SUBCOLUMNS(mtx)·is·1·if·mtx·has·dense·subcolumns·as·its·storage·format,\xd104 ··················SUBMTX·IS·DENSE·SUBCOLUMNS(mtx)·is·1·if·mtx·has·dense·subcolumns·as·its·storage·format,\xd
105 ··················0·otherwise.\xd105 ··················0·otherwise.\xd
106 ··················SUBMTX·IS·DIAGONAL(mtx)·is·1·if·mtx·is·diagonal,·0·otherwise.\xd106 ··················SUBMTX·IS·DIAGONAL(mtx)·is·1·if·mtx·is·diagonal,·0·otherwise.\xd
Offset 126, 15 lines modifiedOffset 126, 15 lines modified
126 ··················This·method·clears·the·object·and·free’s·any·owned·data·by·invoking·the·clearData()\xd126 ··················This·method·clears·the·object·and·free’s·any·owned·data·by·invoking·the·clearData()\xd
127 ··················methodsforitsinternal·DVobject.·Thereis·a·concluding·call·to·SubMtx·setDefaultFields().\xd127 ··················methodsforitsinternal·DVobject.·Thereis·a·concluding·call·to·SubMtx·setDefaultFields().\xd
128 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd128 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
129 ················4.·void·SubMtx_free·(·SubMtx·*mtx·)·;\xd129 ················4.·void·SubMtx_free·(·SubMtx·*mtx·)·;\xd
130 ··················This·method·releases·any·storage·by·a·call·to·SubMtx·clearData()·and·then·frees·the·space\xd130 ··················This·method·releases·any·storage·by·a·call·to·SubMtx·clearData()·and·then·frees·the·space\xd
131 ··················for·mtx.\xd131 ··················for·mtx.\xd
132 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd132 ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
133 ·····································SubMtx·:·DRAFT···January·15,·2021···················5\xd133 ·····································SubMtx·:·DRAFT··February·18,·2022···················5\xd
134 ············1.2.2··Instance·methods\xd134 ············1.2.2··Instance·methods\xd
135 ···············1.·void·SubMtx_ids·(·SubMtx·*mtx,·int·*prowid,·int·*pcolid·)·;\xd135 ···············1.·void·SubMtx_ids·(·SubMtx·*mtx,·int·*prowid,·int·*pcolid·)·;\xd
136 ·················This·method·fills·*prowid·with·the·row·id·and·*pcolid·with·the·column·id·of·the·object.\xd136 ·················This·method·fills·*prowid·with·the·row·id·and·*pcolid·with·the·column·id·of·the·object.\xd
137 ·················Error·checking:·If·mtx,·prowid·or·pcolid·is·NULL,·an·error·message·is·printed·and·the·program\xd137 ·················Error·checking:·If·mtx,·prowid·or·pcolid·is·NULL,·an·error·message·is·printed·and·the·program\xd
138 ·················exits.\xd138 ·················exits.\xd
139 ···············2.·void·SubMtx_setIds·(·SubMtx·*mtx,·int·rowid,·int·colid·)·;\xd139 ···············2.·void·SubMtx_setIds·(·SubMtx·*mtx,·int·rowid,·int·colid·)·;\xd
140 ·················This·method·sets·the·row·and·column·id’s·of·the·matrix.\xd140 ·················This·method·sets·the·row·and·column·id’s·of·the·matrix.\xd
Offset 163, 15 lines modifiedOffset 163, 15 lines modified
163 ·················the·program·exits.\xd163 ·················the·program·exits.\xd
164 ···············7.·void·SubMtx_sparseRowsInfo·(·SubMtx·*mtx,·int·*pnrow,·int·*pnent,\xd164 ···············7.·void·SubMtx_sparseRowsInfo·(·SubMtx·*mtx,·int·*pnrow,·int·*pnent,\xd
165 ··········································int·**psizes,·int·**pindices,·double·**pentries·)·;\xd165 ··········································int·**psizes,·int·**pindices,·double·**pentries·)·;\xd
166 ·················This·method·is·used·when·the·storage·mode·is·sparse·rows.·It·fills·*pnrow·with·the·number\xd166 ·················This·method·is·used·when·the·storage·mode·is·sparse·rows.·It·fills·*pnrow·with·the·number\xd
167 ·················of·rows,·*pnent·with·the·number·of·matrix·entries,·*psizes·with·the·base·address·of·the\xd167 ·················of·rows,·*pnent·with·the·number·of·matrix·entries,·*psizes·with·the·base·address·of·the\xd
168 ·················sizes[nrow]vector·that·contains·the·number·of·entries·in·each·row,·*indices·with·the·base\xd168 ·················sizes[nrow]vector·that·contains·the·number·of·entries·in·each·row,·*indices·with·the·base\xd
169 ·················address·of·the·indices[nent]·vector·that·contains·the·column·index·for·each·entry,·and\xd169 ·················address·of·the·indices[nent]·vector·that·contains·the·column·index·for·each·entry,·and\xd
170 ·······6··············SubMtx·:·DRAFT·January·15,·2021\xd170 ·······6··············SubMtx·:·DRAFT·February·18,·2022\xd
171 ··········*pentries·with·the·base·address·of·entries[nent]·vector.·The·indices·and·entries·for·the\xd171 ··········*pentries·with·the·base·address·of·entries[nent]·vector.·The·indices·and·entries·for·the\xd
172 ··········rows·are·stored·contiguously.\xd172 ··········rows·are·stored·contiguously.\xd
173 ··········Error·checking:·If·mtx,·pnrow,·pnent,·psizes,·pindices·or·pentries·is·NULL,·or·if·the·matrix\xd173 ··········Error·checking:·If·mtx,·pnrow,·pnent,·psizes,·pindices·or·pentries·is·NULL,·or·if·the·matrix\xd
174 ··········type·is·not·SUBMTX·SPARSE·ROWS,·an·error·message·is·printed·and·the·program·exits.\xd174 ··········type·is·not·SUBMTX·SPARSE·ROWS,·an·error·message·is·printed·and·the·program·exits.\xd
175 ········8.·void·SubMtx_sparseColumnsInfo·(·SubMtx·*mtx,·int·*pncol,·int·*pnent,\xd175 ········8.·void·SubMtx_sparseColumnsInfo·(·SubMtx·*mtx,·int·*pncol,·int·*pnent,\xd
176 ························int·**psizes,·int·**pindices,·double·**pentries·)·;\xd176 ························int·**psizes,·int·**pindices,·double·**pentries·)·;\xd
177 ··········Thismethodisusedwhenthestoragemodeissparsecolumns.·Itfills*pncolwiththenumber\xd177 ··········Thismethodisusedwhenthestoragemodeissparsecolumns.·Itfills*pncolwiththenumber\xd
Offset 204, 15 lines modifiedOffset 204, 15 lines modified
204 ··········exits.\xd204 ··········exits.\xd
205 ········11.·void·SubMtx_denseSubcolumnsInfo·(·SubMtx·*mtx,·int·*pncol,·int·*pnent,\xd205 ········11.·void·SubMtx_denseSubcolumnsInfo·(·SubMtx·*mtx,·int·*pncol,·int·*pnent,\xd
206 ··················int·**pfirstlocs,·int·**plastlocs,·double·**pentries·)·;\xd206 ··················int·**pfirstlocs,·int·**plastlocs,·double·**pentries·)·;\xd
207 ··········This·method·is·used·when·the·storage·mode·is·dense·subcolumns.·It·fills·*pncol·with\xd207 ··········This·method·is·used·when·the·storage·mode·is·dense·subcolumns.·It·fills·*pncol·with\xd
208 ··········the·number·of·columns,·*pnent·with·the·number·of·matrix·entries,·*pfirstlocs·with·the\xd208 ··········the·number·of·columns,·*pnent·with·the·number·of·matrix·entries,·*pfirstlocs·with·the\xd
209 ··········base·address·of·the·firstlocs[ncol]·vector,·*plastlocs·with·the·base·address·of·the\xd209 ··········base·address·of·the·firstlocs[ncol]·vector,·*plastlocs·with·the·base·address·of·the\xd
210 ··········lastlocs[ncol]vector,·and·*pentries·with·the·base·address·of·entries[nent]·vector.·For\xd210 ··········lastlocs[ncol]vector,·and·*pentries·with·the·base·address·of·entries[nent]·vector.·For\xd
211 ············································SubMtx·:·DRAFT·····January·15,·2021·························7\xd211 ···········································SubMtx·:·DRAFT·····February·18,·2022·························7\xd
212 ····················column·jcol,·the·nonzero·entries·are·found·in·rows·[firstlocs[jcol],lastlocs[jcol]]\xd212 ····················column·jcol,·the·nonzero·entries·are·found·in·rows·[firstlocs[jcol],lastlocs[jcol]]\xd
213 ····················when·firstlocs[jcol]··0·and·firstlocs[jcol]··lastlocs[jcol].·The·entries·for·the\xd213 ····················when·firstlocs[jcol]··0·and·firstlocs[jcol]··lastlocs[jcol].·The·entries·for·the\xd
214 ····················columns·are·stored·contiguously.\xd214 ····················columns·are·stored·contiguously.\xd
215 ····················Error·checking:·If·mtx,·pnrow,·pnent,·pfirstlocs,·plastlocs·or·pentries·is·NULL,·or·if·the\xd215 ····················Error·checking:·If·mtx,·pnrow,·pnent,·pfirstlocs,·plastlocs·or·pentries·is·NULL,·or·if·the\xd
216 ····················matrix·type·is·not·SUBMTX·DENSE·SUBCOLUMNS,·an·error·message·is·printed·and·the·program\xd216 ····················matrix·type·is·not·SUBMTX·DENSE·SUBCOLUMNS,·an·error·message·is·printed·and·the·program\xd
217 ····················exits.\xd217 ····················exits.\xd
218 ················12.·void·SubMtx_diagonalInfo·(·SubMtx·*mtx,·int·*pncol,·double·**pentries·)·;\xd218 ················12.·void·SubMtx_diagonalInfo·(·SubMtx·*mtx,·int·*pncol,·double·**pentries·)·;\xd
Offset 242, 15 lines modifiedOffset 242, 15 lines modified
242 ····················and·0··jcol··ncol.·If·the·(irow,jcol)·entry·is·present,·the·return·value·is·the·offset\xd242 ····················and·0··jcol··ncol.·If·the·(irow,jcol)·entry·is·present,·the·return·value·is·the·offset\xd
243 ····················from·the·start·of·the·entries·vector.·(The·offset·is·in·terms·of·complex·entries,·not·double\xd243 ····················from·the·start·of·the·entries·vector.·(The·offset·is·in·terms·of·complex·entries,·not·double\xd
244 ····················entries.)·Otherwise,·-1·is·returned.\xd244 ····················entries.)·Otherwise,·-1·is·returned.\xd
245 ····················Error·checking:·If·mtx,·pReal·or·pImag·is·NULL,·or·if·irow·or·jcol·is·out·of·range,·an·error\xd245 ····················Error·checking:·If·mtx,·pReal·or·pImag·is·NULL,·or·if·irow·or·jcol·is·out·of·range,·an·error\xd
246 ····················message·is·printed·and·the·program·exits.\xd246 ····················message·is·printed·and·the·program·exits.\xd
247 ················16.·void··SubMtx_locationOfRealEntry·(·SubMtx·*mtx,·int·irow,·int·jcol,\xd247 ················16.·void··SubMtx_locationOfRealEntry·(·SubMtx·*mtx,·int·irow,·int·jcol,\xd
248 ··························································double·**ppValue·)·;\xd248 ··························································double·**ppValue·)·;\xd
249 ··············8·····························SubMtx·:·DRAFT·January·15,·2021\xd249 ··············8····························SubMtx·:·DRAFT·February·18,·2022\xd
250 ···················If·the·(irow,jcol)·entry·is·present,·this·method·fills·*ppValue·with·a·pointer·to·the·entry\xd250 ···················If·the·(irow,jcol)·entry·is·present,·this·method·fills·*ppValue·with·a·pointer·to·the·entry\xd
251 ···················in·row·irow·and·columnjcol.·Otherwise,·*ppValue·is·set·to·NULL.·Note,·irow·and·jcol·are\xd251 ···················in·row·irow·and·columnjcol.·Otherwise,·*ppValue·is·set·to·NULL.·Note,·irow·and·jcol·are\xd
252 ···················local·indices,·i.e.,·0··irow··nrow·and·0··jcol··ncol.\xd252 ···················local·indices,·i.e.,·0··irow··nrow·and·0··jcol··ncol.\xd
253 ···················Error·checking:·If·mtx·or·ppValue·is·NULL,·or·if·irow·or·jcol·is·out·of·range,·an·error·message\xd253 ···················Error·checking:·If·mtx·or·ppValue·is·NULL,·or·if·irow·or·jcol·is·out·of·range,·an·error·message\xd
254 ···················is·printed·and·the·program·exits.\xd254 ···················is·printed·and·the·program·exits.\xd
255 ················17.·void··SubMtx_locationOfComplexEntry·(·SubMtx·*mtx,·int·irow,·int·jcol,\xd255 ················17.·void··SubMtx_locationOfComplexEntry·(·SubMtx·*mtx,·int·irow,·int·jcol,\xd
256 ·····························································double·**ppReal,·double·**ppImag·)·;\xd256 ·····························································double·**ppReal,·double·**ppImag·)·;\xd
Offset 278, 15 lines modifiedOffset 278, 15 lines modified
278 ·············································int·nrow,·int·ncol,·int·nent,·int·seed·)·;\xd278 ·············································int·nrow,·int·ncol,·int·nent,·int·seed·)·;\xd
279 ···················This·is·used·to·initialize·an·object·to·have·random·entries·and·(possibly)·random·structure.\xd279 ···················This·is·used·to·initialize·an·object·to·have·random·entries·and·(possibly)·random·structure.\xd
280 ···················The·object·is·first·initialized·via·a·call·to·SubMtx·init().·Its·matrix·entries·are·then·filled\xd280 ···················The·object·is·first·initialized·via·a·call·to·SubMtx·init().·Its·matrix·entries·are·then·filled\xd
281 ···················with·random·numbers.·If·the·matrix·is·sparse,·its·sparsity·pattern·is·sparse·and·random,\xd281 ···················with·random·numbers.·If·the·matrix·is·sparse,·its·sparsity·pattern·is·sparse·and·random,\xd
282 ···················using·nent·when·applicable.·The·row·and·column·indices·are·ascending·starting·from·zero.\xd282 ···················using·nent·when·applicable.·The·row·and·column·indices·are·ascending·starting·from·zero.\xd
283 ···················Error·checking:·If·mtx·is·NULL,·or·if·nrow,·ncol,·inc1·or·inc2·is·less·than·or·equal·to·zero,\xd283 ···················Error·checking:·If·mtx·is·NULL,·or·if·nrow,·ncol,·inc1·or·inc2·is·less·than·or·equal·to·zero,\xd
284 ···················or·if·neither·inc1·nor·inc2·are·1,·an·error·message·is·printed·and·the·program·exits.\xd284 ···················or·if·neither·inc1·nor·inc2·are·1,·an·error·message·is·printed·and·the·program·exits.\xd
285 ·····································SubMtx·:·DRAFT···January·15,·2021···················9\xd285 ·····································SubMtx·:·DRAFT··February·18,·2022···················9\xd
286 ···············4.·void·SubMtx_initRandomLowerTriangle·(·SubMtx·*mtx,·int·type,·int·mode,\xd286 ···············4.·void·SubMtx_initRandomLowerTriangle·(·SubMtx·*mtx,·int·type,·int·mode,\xd
287 ····················int·rowid,·int·colid,·int·nrow,·int·ncol,·int·nent,·int·seed,·int·strict·)·;\xd287 ····················int·rowid,·int·colid,·int·nrow,·int·ncol,·int·nent,·int·seed,·int·strict·)·;\xd
288 ·················void·SubMtx_initRandomUpperTriangle·(·SubMtx·*mtx,·int·type,·int·mode,\xd288 ·················void·SubMtx_initRandomUpperTriangle·(·SubMtx·*mtx,·int·type,·int·mode,\xd
289 ····················int·rowid,·int·colid,·int·nrow,·int·ncol,·int·nent,·int·seed,·int·strict·)·;\xd289 ····················int·rowid,·int·colid,·int·nrow,·int·ncol,·int·nent,·int·seed,·int·strict·)·;\xd
290 ·················This·is·used·to·initialize·an·object·to·have·random·entries·and·(possibly)·random·struc-\xd290 ·················This·is·used·to·initialize·an·object·to·have·random·entries·and·(possibly)·random·struc-\xd
291 ·················ture.·The·matrix·type·may·not·be·diagonal,·block·diagonal,·or·triples.·If·strict·=·1,·the\xd291 ·················ture.·The·matrix·type·may·not·be·diagonal,·block·diagonal,·or·triples.·If·strict·=·1,·the\xd
292 ·················matrix·will·be·strict·lower·or·upper·triangular.·The·object·is·first·initialized·via·a·call·to\xd292 ·················matrix·will·be·strict·lower·or·upper·triangular.·The·object·is·first·initialized·via·a·call·to\xd
Max diff block lines reached; 12222/23014 bytes (53.11%) of diff not shown.
27.8 KB
./usr/share/doc/spooles-doc/SubMtxList.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·1844911 gzip·compressed·data,·max·compression,·from·Unix,·original·size·184655
27.5 KB
SubMtxList.ps
    
Offset 7, 15 lines modifiedOffset 7, 15 lines modified
7 %%BoundingBox:·0·0·612·7927 %%BoundingBox:·0·0·612·792
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10
9 %%DocumentPaperSizes:·Letter9 %%DocumentPaperSizes:·Letter
10 %%EndComments10 %%EndComments
11 %DVIPSWebPage:·(www.radicaleye.com)11 %DVIPSWebPage:·(www.radicaleye.com)
12 %DVIPSCommandLine:·dvips·main·-o·SubMtxList.ps12 %DVIPSCommandLine:·dvips·main·-o·SubMtxList.ps
13 %DVIPSParameters:·dpi=60013 %DVIPSParameters:·dpi=600
14 %DVIPSSource:··TeX·output·2021.01.15:061414 %DVIPSSource:··TeX·output·2022.02.18:1444
15 %%BeginProcSet:·tex.pro·0·015 %%BeginProcSet:·tex.pro·0·0
16 %!16 %!
17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S17 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
18 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7218 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
19 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·019 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{20 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize21 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1076, 19 lines modifiedOffset 1076, 20 lines modified
1076 end·readonly·def1076 end·readonly·def
1077 /Encoding·256·array1077 /Encoding·256·array
1078 0·1·255·{1·index·exch·/.notdef·put}·for1078 0·1·255·{1·index·exch·/.notdef·put}·for
1079 dup·44·/comma·put1079 dup·44·/comma·put
1080 dup·48·/zero·put1080 dup·48·/zero·put
1081 dup·49·/one·put1081 dup·49·/one·put
1082 dup·50·/two·put1082 dup·50·/two·put
1083 dup·53·/five·put1083 dup·56·/eight·put
1084 dup·58·/colon·put1084 dup·58·/colon·put
1085 dup·74·/J·put1085 dup·70·/F·put
1086 dup·97·/a·put1086 dup·97·/a·put
 1087 dup·98·/b·put
1087 dup·110·/n·put1088 dup·101·/e·put
1088 dup·114·/r·put1089 dup·114·/r·put
1089 dup·117·/u·put1090 dup·117·/u·put
1090 dup·121·/y·put1091 dup·121·/y·put
1091 readonly·def1092 readonly·def
1092 currentdict·end1093 currentdict·end
1093 currentfile·eexec1094 currentfile·eexec
1094 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71095 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1272, 84 lines modifiedOffset 1273, 86 lines modified
1272 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1273 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1273 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821274 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1274 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1275 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1275 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51276 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1276 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051277 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1277 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051278 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1278 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671279 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1279 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041280 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1280 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1281 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1282 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1283 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1284 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1285 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1286 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1287 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1288 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1289 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1290 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1291 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1292 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1293 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1294 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1295 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1296 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1297 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1298 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1299 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1300 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1301 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1302 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1303 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1304 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1305 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1306 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1307 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1308 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1309 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1310 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1311 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1312 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1313 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1314 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1315 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1316 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1317 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1318 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1319 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1320 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1321 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1322 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1323 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1324 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1325 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1326 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1327 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1328 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1329 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1330 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1331 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1332 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1333 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1334 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1335 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1336 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1337 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1338 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1339 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1340 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1341 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1342 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1343 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1344 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1345 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1346 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1347 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1348 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51281 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1282 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1283 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1284 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1285 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1286 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1287 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1288 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1289 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1290 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1291 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1292 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1293 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1294 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 12605/23759 bytes (53.05%) of diff not shown.
4.27 KB
ps2ascii {}
    
Offset 22, 15 lines modifiedOffset 22, 15 lines modified
22 ·······The·first·two·operations·are·queries,·and·can·be·done·without·locking·the·list.·The·third·operation\xd22 ·······The·first·two·operations·are·queries,·and·can·be·done·without·locking·the·list.·The·third·operation\xd
23 ·······needs·a·lock·only·when·two·or·more·threads·will·be·inserting·objects·into·the·list.·The·fourth\xd23 ·······needs·a·lock·only·when·two·or·more·threads·will·be·inserting·objects·into·the·list.·The·fourth\xd
24 ·······operation·requires·a·lock·only·when·one·thread·will·add·an·object·while·another·thread·removes\xd24 ·······operation·requires·a·lock·only·when·one·thread·will·add·an·object·while·another·thread·removes\xd
25 ·······the·object·and·the·incoming·count·is·not·yet·zero.\xd25 ·······the·object·and·the·incoming·count·is·not·yet·zero.\xd
26 ·········Having·a·lock·associated·with·a·SubMtxList·object·is·optional,·for·example,·it·is·not·needed\xd26 ·········Having·a·lock·associated·with·a·SubMtxList·object·is·optional,·for·example,·it·is·not·needed\xd
27 ·······during·a·serial·factorization·nor·a·MPI·solve.·In·the·latter·case·there·is·one·SubMtxList·per·process.\xd27 ·······during·a·serial·factorization·nor·a·MPI·solve.·In·the·latter·case·there·is·one·SubMtxList·per·process.\xd
28 ·····························1\xd28 ·····························1\xd
29 ··············2·························SubMtxList·:·DRAFT·January·15,·2021\xd29 ··············2·························SubMtxList·:·DRAFT·February·18,·2022\xd
30 ··············For·a·multithreaded·solve·there·is·one·SubMtxList·object·that·is·shared·by·all·threads.·The·mutual\xd30 ··············For·a·multithreaded·solve·there·is·one·SubMtxList·object·that·is·shared·by·all·threads.·The·mutual\xd
31 ··············exclusion·lock·that·is·(optionally)·embedded·in·the·SubMtxList·object·is·a·Lock·object·from·this\xd31 ··············exclusion·lock·that·is·(optionally)·embedded·in·the·SubMtxList·object·is·a·Lock·object·from·this\xd
32 ··············library.·It·is·inside·the·Lock·object·that·we·have·a·mutual·exclusion·lock.·Presently·we·support·the\xd32 ··············library.·It·is·inside·the·Lock·object·that·we·have·a·mutual·exclusion·lock.·Presently·we·support·the\xd
33 ··············Solaris·and·POSIX·thread·packages.·Porting·the·multithreaded·codes·to·another·platform·should\xd33 ··············Solaris·and·POSIX·thread·packages.·Porting·the·multithreaded·codes·to·another·platform·should\xd
34 ··············be·simple·if·the·POSIX·thread·package·is·present.·Another·type·of·thread·package·will·require\xd34 ··············be·simple·if·the·POSIX·thread·package·is·present.·Another·type·of·thread·package·will·require\xd
35 ··············some·modifications·to·the·Lock·object,·but·none·to·the·SubMtxList·objects.\xd35 ··············some·modifications·to·the·Lock·object,·but·none·to·the·SubMtxList·objects.\xd
36 ··············1.1···Data·Structure\xd36 ··············1.1···Data·Structure\xd
Offset 52, 15 lines modifiedOffset 52, 15 lines modified
52 ················1.·SubMtxList·*·SubMtxList_new·(·void·)·;\xd52 ················1.·SubMtxList·*·SubMtxList_new·(·void·)·;\xd
53 ··················This·method·simply·allocates·storage·for·the·SubMtxList·structure·and·then·sets·the·default\xd53 ··················This·method·simply·allocates·storage·for·the·SubMtxList·structure·and·then·sets·the·default\xd
54 ··················fields·by·a·call·to·SubMtxList·setDefaultFields().\xd54 ··················fields·by·a·call·to·SubMtxList·setDefaultFields().\xd
55 ················2.·void·SubMtxList_setDefaultFields·(·SubMtxList·*list·)·;\xd55 ················2.·void·SubMtxList_setDefaultFields·(·SubMtxList·*list·)·;\xd
56 ··················The·structure’s·fields·are·set·to·default·values:·nlist·and·nlocks·set·to·zero,·and·heads,\xd56 ··················The·structure’s·fields·are·set·to·default·values:·nlist·and·nlocks·set·to·zero,·and·heads,\xd
57 ··················counts,·lock·and·flags·are·set·to·NULL·.\xd57 ··················counts,·lock·and·flags·are·set·to·NULL·.\xd
58 ··················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd58 ··················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
59 ····································SubMtxList·:·DRAFT··January·15,·2021··················3\xd59 ···································SubMtxList·:·DRAFT···February·18,·2022·················3\xd
60 ···············3.·void·SubMtxList_clearData·(·SubMtxList·*list·)·;\xd60 ···············3.·void·SubMtxList_clearData·(·SubMtxList·*list·)·;\xd
61 ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·SubMtx·free()·for·each\xd61 ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·SubMtx·free()·for·each\xd
62 ·················object·on·the·free·list.·If·heads·is·not·NULL,·it·is·free’d.·If·counts·is·not·NULL,·it·is·free’d·via\xd62 ·················object·on·the·free·list.·If·heads·is·not·NULL,·it·is·free’d.·If·counts·is·not·NULL,·it·is·free’d·via\xd
63 ·················a·call·to·IVfree().·If·flags·is·not·NULL,·it·is·free’d·via·a·call·to·CVfree().·If·the·lock·is·not\xd63 ·················a·call·to·IVfree().·If·flags·is·not·NULL,·it·is·free’d·via·a·call·to·CVfree().·If·the·lock·is·not\xd
64 ·················NULL,·it·is·destroyed·via·a·call·to·mutex·destroy()·and·then·free’d.·There·is·a·concluding\xd64 ·················NULL,·it·is·destroyed·via·a·call·to·mutex·destroy()·and·then·free’d.·There·is·a·concluding\xd
65 ·················call·to·SubMtxList·setDefaultFields().\xd65 ·················call·to·SubMtxList·setDefaultFields().\xd
66 ·················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd66 ·················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
Offset 87, 15 lines modifiedOffset 87, 15 lines modified
87 ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd87 ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd
88 ·················is·printed·and·zero·is·returned.\xd88 ·················is·printed·and·zero·is·returned.\xd
89 ···············2.·int·SubMtxList_isCountZero·(·SubMtxList·*list,·int·ilist·)·;\xd89 ···············2.·int·SubMtxList_isCountZero·(·SubMtxList·*list,·int·ilist·)·;\xd
90 ·················If·counts·is·NULL,·or·if·counts[ilist]·equal·to·zero,·the·method·returns·1.·Otherwise,·the\xd90 ·················If·counts·is·NULL,·or·if·counts[ilist]·equal·to·zero,·the·method·returns·1.·Otherwise,·the\xd
91 ·················method·returns·0.\xd91 ·················method·returns·0.\xd
92 ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd92 ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd
93 ·················is·printed·and·zero·is·returned.\xd93 ·················is·printed·and·zero·is·returned.\xd
94 ··············4·························SubMtxList·:·DRAFT·January·15,·2021\xd94 ··············4·························SubMtxList·:·DRAFT·February·18,·2022\xd
95 ················3.·SubMtx·*·SubMtxList_getList·(·SubMtxList·*list,·int·ilist·)·;\xd95 ················3.·SubMtx·*·SubMtxList_getList·(·SubMtxList·*list,·int·ilist·)·;\xd
96 ··················If·list·ilist·is·empty,·the·method·returns·NULL.·Otherwise,·if·the·list·needs·to·be·locked,·the\xd96 ··················If·list·ilist·is·empty,·the·method·returns·NULL.·Otherwise,·if·the·list·needs·to·be·locked,·the\xd
97 ··················lock·is·locked.·The·head·of·the·list·is·saved·to·a·pointer·and·then·the·head·is·set·to·NULL.\xd97 ··················lock·is·locked.·The·head·of·the·list·is·saved·to·a·pointer·and·then·the·head·is·set·to·NULL.\xd
98 ··················If·the·list·was·locked,·the·number·of·locks·is·incremented·and·the·lock·unlocked.·The·saved\xd98 ··················If·the·list·was·locked,·the·number·of·locks·is·incremented·and·the·lock·unlocked.·The·saved\xd
99 ··················pointer·is·returned.\xd99 ··················pointer·is·returned.\xd
100 ··················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd100 ··················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd
101 ··················is·printed·and·zero·is·returned.\xd101 ··················is·printed·and·zero·is·returned.\xd
21.3 KB
./usr/share/doc/spooles-doc/SubMtxManager.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2166081 gzip·compressed·data,·max·compression,·from·Unix,·original·size·216778
21.0 KB
SubMtxManager.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMMI10·CMMI88 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMTI10·CMMI10·CMMI8
9 %%+·CMSL109 %%+·CMSL10
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·SubMtxManager.ps13 %DVIPSCommandLine:·dvips·main·-o·SubMtxManager.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 719, 19 lines modifiedOffset 719, 20 lines modified
719 end·readonly·def719 end·readonly·def
720 /Encoding·256·array720 /Encoding·256·array
721 0·1·255·{1·index·exch·/.notdef·put}·for721 0·1·255·{1·index·exch·/.notdef·put}·for
722 dup·44·/comma·put722 dup·44·/comma·put
723 dup·48·/zero·put723 dup·48·/zero·put
724 dup·49·/one·put724 dup·49·/one·put
725 dup·50·/two·put725 dup·50·/two·put
726 dup·53·/five·put726 dup·56·/eight·put
727 dup·58·/colon·put727 dup·58·/colon·put
728 dup·74·/J·put728 dup·70·/F·put
729 dup·97·/a·put729 dup·97·/a·put
 730 dup·98·/b·put
730 dup·110·/n·put731 dup·101·/e·put
731 dup·114·/r·put732 dup·114·/r·put
732 dup·117·/u·put733 dup·117·/u·put
733 dup·121·/y·put734 dup·121·/y·put
734 readonly·def735 readonly·def
735 currentdict·end736 currentdict·end
736 currentfile·eexec737 currentfile·eexec
737 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7738 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 915, 84 lines modifiedOffset 916, 86 lines modified
915 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A916 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
916 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082917 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
917 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E918 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
918 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5919 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
919 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05920 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
920 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05921 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
921 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767922 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
922 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704923 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
923 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
924 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
925 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
926 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
927 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
928 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
929 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
930 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
931 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
932 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
933 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
934 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
935 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
936 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
937 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
938 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
939 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
940 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
941 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
942 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
943 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
944 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
945 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
946 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
947 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
948 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
949 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
950 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
951 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
952 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
953 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
954 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
955 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
956 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
957 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
958 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
959 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
960 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
961 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
962 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
963 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
964 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
965 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
966 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
967 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
968 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
969 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
970 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
971 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
972 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
973 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
974 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
975 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
976 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
977 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
978 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
979 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
980 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
981 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
982 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
983 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
984 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
985 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
986 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
987 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
988 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
989 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
990 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
991 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5924 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 925 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 926 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 927 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 928 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 929 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 930 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 931 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 932 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 933 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 934 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 935 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 936 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 937 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 6209/17352 bytes (35.78%) of diff not shown.
4.0 KB
ps2ascii {}
    
Offset 27, 15 lines modifiedOffset 27, 15 lines modified
27 ···············with·sufficient·work·space,·and·returns·a·pointer·to·the·object.·When·a·SubMtx·object·is·no·longer\xd27 ···············with·sufficient·work·space,·and·returns·a·pointer·to·the·object.·When·a·SubMtx·object·is·no·longer\xd
28 ···············necessary,·it·is·released·to·the·manager·object,·which·then·inserts·it·into·the·free·list.·A·list·of\xd28 ···············necessary,·it·is·released·to·the·manager·object,·which·then·inserts·it·into·the·free·list.·A·list·of\xd
29 ···············SubMtx·objects·can·be·released·in·one·call.\xd29 ···············SubMtx·objects·can·be·released·in·one·call.\xd
30 ···················One·can·specify·whether·the·object·is·to·be·locked·via·a·mutual·exclusion·lock.·This·is·not\xd30 ···················One·can·specify·whether·the·object·is·to·be·locked·via·a·mutual·exclusion·lock.·This·is·not\xd
31 ···············necessary·for·a·serial·or·MPI·factorization·or·solve·(where·there·is·one·SubMtxManager·object·for\xd31 ···············necessary·for·a·serial·or·MPI·factorization·or·solve·(where·there·is·one·SubMtxManager·object·for\xd
32 ···············each·processor),·but·it·is·necessary·for·in·a·multithreaded·environment.\xd32 ···············each·processor),·but·it·is·necessary·for·in·a·multithreaded·environment.\xd
33 ·······························································1\xd33 ·······························································1\xd
34 ··············2·······················SubMtxManager·:·DRAFT·January·15,·2021\xd34 ··············2·······················SubMtxManager·:·DRAFT·February·18,·2022\xd
35 ·················Eachmanagerobjectkeepstrackofcertainstatistics,·bytesintheirworkspaces,·thetotal·number\xd35 ·················Eachmanagerobjectkeepstrackofcertainstatistics,·bytesintheirworkspaces,·thetotal·number\xd
36 ··············of·bytes·requested,·the·number·of·requests·for·a·SubMtx·objects,·the·number·of·releases,·and·the\xd36 ··············of·bytes·requested,·the·number·of·requests·for·a·SubMtx·objects,·the·number·of·releases,·and·the\xd
37 ··············number·of·locks·and·unlocks.\xd37 ··············number·of·locks·and·unlocks.\xd
38 ··············1.1···Data·Structure\xd38 ··············1.1···Data·Structure\xd
39 ··············The·SubMtxManager·structure·has·the·following·fields.\xd39 ··············The·SubMtxManager·structure·has·the·following·fields.\xd
40 ··················SubMtx·*head·:·head·of·the·free·list·of·SubMtx·objects.\xd40 ··················SubMtx·*head·:·head·of·the·free·list·of·SubMtx·objects.\xd
41 ··················Lock·*lock·:·mutual·exclusion·lock.\xd41 ··················Lock·*lock·:·mutual·exclusion·lock.\xd
Offset 55, 15 lines modifiedOffset 55, 15 lines modified
55 ··············SubMtxManager·object.\xd55 ··············SubMtxManager·object.\xd
56 ··············1.2.1··Basic·methods\xd56 ··············1.2.1··Basic·methods\xd
57 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd57 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
58 ··············any·allocated·data,·and·free’ing·the·object.\xd58 ··············any·allocated·data,·and·free’ing·the·object.\xd
59 ················1.·SubMtxManager·*·SubMtxManager_new·(·void·)·;\xd59 ················1.·SubMtxManager·*·SubMtxManager_new·(·void·)·;\xd
60 ··················This·method·simply·allocates·storage·for·the·SubMtxManager·structure·and·then·sets·the\xd60 ··················This·method·simply·allocates·storage·for·the·SubMtxManager·structure·and·then·sets·the\xd
61 ··················default·fields·by·a·call·to·SubMtxManager·setDefaultFields().\xd61 ··················default·fields·by·a·call·to·SubMtxManager·setDefaultFields().\xd
62 ···································SubMtxManager·:·DRAFT··January·15,·2021················3\xd62 ··································SubMtxManager·:·DRAFT···February·18,·2022···············3\xd
63 ···············2.·void·SubMtxManager_setDefaultFields·(·SubMtxManager·*manager·)·;\xd63 ···············2.·void·SubMtxManager_setDefaultFields·(·SubMtxManager·*manager·)·;\xd
64 ·················Thestructure’sfieldsaresettodefaultvalues:·mode,nactive,nbytesactive,nbytesrequested,\xd64 ·················Thestructure’sfieldsaresettodefaultvalues:·mode,nactive,nbytesactive,nbytesrequested,\xd
65 ·················nbytesalloc,·nrequests,·nreleases,·nlocks·and·nunlocks·are·set·to·zero,·and·head·and\xd65 ·················nbytesalloc,·nrequests,·nreleases,·nlocks·and·nunlocks·are·set·to·zero,·and·head·and\xd
66 ·················lock·are·set·to·NULL·.\xd66 ·················lock·are·set·to·NULL·.\xd
67 ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd67 ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
68 ···············3.·void·SubMtxManager_clearData·(·SubMtxManager·*manager·)·;\xd68 ···············3.·void·SubMtxManager_clearData·(·SubMtxManager·*manager·)·;\xd
69 ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·SubMtx·free()·for·each\xd69 ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·SubMtx·free()·for·each\xd
Offset 89, 15 lines modifiedOffset 89, 15 lines modified
89 ·················its·workspace.\xd89 ·················its·workspace.\xd
90 ·················Error·checking:·If·manager·is·NULL,·or·if·nbytesNeeded··0,·an·error·message·is·printed·and\xd90 ·················Error·checking:·If·manager·is·NULL,·or·if·nbytesNeeded··0,·an·error·message·is·printed·and\xd
91 ·················zero·is·returned.\xd91 ·················zero·is·returned.\xd
92 ···············2.·void·SubMtxManager_releaseObject·(·SubMtxManager·*manager,·SubMtx·*mtx·)·;\xd92 ···············2.·void·SubMtxManager_releaseObject·(·SubMtxManager·*manager,·SubMtx·*mtx·)·;\xd
93 ·················This·method·releases·the·mtx·instance,·either·free’ing·it·(if·mode·=·0),·or·returning·it·to·the\xd93 ·················This·method·releases·the·mtx·instance,·either·free’ing·it·(if·mode·=·0),·or·returning·it·to·the\xd
94 ·················free·list·(if·mode·=·1).\xd94 ·················free·list·(if·mode·=·1).\xd
95 ·················Error·checking:·If·manager·or·mtx·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd95 ·················Error·checking:·If·manager·or·mtx·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
96 ··············4·······················SubMtxManager·:·DRAFT·January·15,·2021\xd96 ··············4·······················SubMtxManager·:·DRAFT·February·18,·2022\xd
97 ················3.·void·SubMtxManager_releaseListOfObjects·(·SubMtxManager·*manager,·SubMtx·*first·)·;\xd97 ················3.·void·SubMtxManager_releaseListOfObjects·(·SubMtxManager·*manager,·SubMtx·*first·)·;\xd
98 ··················This·method·releases·a·list·of·SubMtx·objects·whose·head·is·first,·either·free’ing·them·(if\xd98 ··················This·method·releases·a·list·of·SubMtx·objects·whose·head·is·first,·either·free’ing·them·(if\xd
99 ··················mode·=·0),·or·returning·them·to·the·free·list·(if·mode·=·1).\xd99 ··················mode·=·0),·or·returning·them·to·the·free·list·(if·mode·=·1).\xd
100 ··················Error·checking:·If·manager·or·head·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd100 ··················Error·checking:·If·manager·or·head·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
101 ··············1.2.4··IO·methods\xd101 ··············1.2.4··IO·methods\xd
102 ················1.·void·SubMtxManager_writeForHumanEye·(·SubMtxManager·*manager,·FILE·*fp·)·;\xd102 ················1.·void·SubMtxManager_writeForHumanEye·(·SubMtxManager·*manager,·FILE·*fp·)·;\xd
103 ··················This·method·writes·a·SubMtxManager·object·to·a·file·in·an·easily·readable·format.\xd103 ··················This·method·writes·a·SubMtxManager·object·to·a·file·in·an·easily·readable·format.\xd
21.4 KB
./usr/share/doc/spooles-doc/SymbFac.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2234211 gzip·compressed·data,·max·compression,·from·Unix,·original·size·223585
21.1 KB
SymbFac.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMSY10·CMBX108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMMI10·CMSY10·CMBX10
9 %%+·CMSL109 %%+·CMSL10
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·SymbFac.ps13 %DVIPSCommandLine:·dvips·main·-o·SymbFac.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 548, 19 lines modifiedOffset 548, 20 lines modified
548 end·readonly·def548 end·readonly·def
549 /Encoding·256·array549 /Encoding·256·array
550 0·1·255·{1·index·exch·/.notdef·put}·for550 0·1·255·{1·index·exch·/.notdef·put}·for
551 dup·44·/comma·put551 dup·44·/comma·put
552 dup·48·/zero·put552 dup·48·/zero·put
553 dup·49·/one·put553 dup·49·/one·put
554 dup·50·/two·put554 dup·50·/two·put
555 dup·53·/five·put555 dup·56·/eight·put
556 dup·58·/colon·put556 dup·58·/colon·put
557 dup·74·/J·put557 dup·70·/F·put
558 dup·97·/a·put558 dup·97·/a·put
 559 dup·98·/b·put
559 dup·110·/n·put560 dup·101·/e·put
560 dup·114·/r·put561 dup·114·/r·put
561 dup·117·/u·put562 dup·117·/u·put
562 dup·121·/y·put563 dup·121·/y·put
563 readonly·def564 readonly·def
564 currentdict·end565 currentdict·end
565 currentfile·eexec566 currentfile·eexec
566 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7567 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 744, 84 lines modifiedOffset 745, 86 lines modified
744 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A745 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
745 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082746 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
746 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E747 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
747 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5748 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
748 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05749 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
749 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05750 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
750 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767751 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
751 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF704752 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
752 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
753 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
754 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
755 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
756 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
757 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
758 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
759 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
760 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
761 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
762 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
763 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
764 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
765 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
766 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
767 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
768 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
769 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
770 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
771 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
772 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
773 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
774 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
775 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
776 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
777 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
778 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
779 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
780 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
781 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
782 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
783 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
784 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
785 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
786 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
787 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
788 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
789 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
790 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
791 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
792 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
793 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
794 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
795 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
796 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
797 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
798 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
799 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
800 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
801 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
802 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
803 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
804 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
805 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
806 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
807 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
808 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
809 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
810 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
811 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
812 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
813 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
814 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
815 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
816 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
817 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
818 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
819 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
820 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE5753 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 754 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 755 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 756 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 757 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 758 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 759 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 760 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 761 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 762 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 763 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 764 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 765 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 766 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 6007/17141 bytes (35.04%) of diff not shown.
4.36 KB
ps2ascii {}
    
Offset 22, 15 lines modifiedOffset 22, 15 lines modified
22 ···········to·have·chevron·coordinate·type·and·storage·mode·must·be·by·vectors.\xd22 ···········to·have·chevron·coordinate·type·and·storage·mode·must·be·by·vectors.\xd
23 ···········1.1··Data·Structure\xd23 ···········1.1··Data·Structure\xd
24 ···········There·is·no·struct·or·data·associated·with·the·SymbFac·object.\xd24 ···········There·is·no·struct·or·data·associated·with·the·SymbFac·object.\xd
25 ···········1.2··Prototypes·and·descriptions·of·SymbFac·methods\xd25 ···········1.2··Prototypes·and·descriptions·of·SymbFac·methods\xd
26 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd26 ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
27 ···········SymbFac·object.\xd27 ···········SymbFac·object.\xd
28 ·············································1\xd28 ·············································1\xd
29 ··············2···························SymbFac·:·DRAFT·January·15,·2021\xd29 ··············2··························SymbFac·:·DRAFT·February·18,·2022\xd
30 ··············1.2.1··Symbolic·factorization·methods\xd30 ··············1.2.1··Symbolic·factorization·methods\xd
31 ················1.·IVL·*·SymbFac_initFromGraph·(·ETree·*etree,·Graph·*graph·)·;\xd31 ················1.·IVL·*·SymbFac_initFromGraph·(·ETree·*etree,·Graph·*graph·)·;\xd
32 ···················This·symbolic·factorization·method·takes·a·Graph·object·as·input.·This·method·constructs\xd32 ···················This·symbolic·factorization·method·takes·a·Graph·object·as·input.·This·method·constructs\xd
33 ···················an·IVL·object·that·contains·one·list·per·front.·List·ilist·contains·the·internal·and·external\xd33 ···················an·IVL·object·that·contains·one·list·per·front.·List·ilist·contains·the·internal·and·external\xd
34 ···················vertices·for·front·ilist.·If·the·input·graph·is·a·compressed·graph,·then·the·lists·of·compressed\xd34 ···················vertices·for·front·ilist.·If·the·input·graph·is·a·compressed·graph,·then·the·lists·of·compressed\xd
35 ···················vertices·make·little·sense;·they·must·be·converted·to·original·vertices.·To·do·this,·see·the\xd35 ···················vertices·make·little·sense;·they·must·be·converted·to·original·vertices.·To·do·this,·see·the\xd
36 ···················IVL·expand()·method.·The·nodwghtsIV·and·bndwghtsIV·objects·for·the·ETree·object·are\xd36 ···················IVL·expand()·method.·The·nodwghtsIV·and·bndwghtsIV·objects·for·the·ETree·object·are\xd
Offset 61, 15 lines modifiedOffset 61, 15 lines modified
61 ················1.·testSymbFacInpMtx·msglvl·msgFile·inETreeFile·inDInpMtxFile\xd61 ················1.·testSymbFacInpMtx·msglvl·msgFile·inETreeFile·inDInpMtxFile\xd
62 ·····································outETreeFile·outIVfile·outIVLfile\xd62 ·····································outETreeFile·outIVfile·outIVLfile\xd
63 ···················This·driver·program·reads·in·an·ETree·object·and·a·InpMtx·object·and·computes·the·symbolic\xd63 ···················This·driver·program·reads·in·an·ETree·object·and·a·InpMtx·object·and·computes·the·symbolic\xd
64 ···················factorization.·The·ETree·object·is·updated·(the·front·sizes·and·boundary·sizes·may·change)\xd64 ···················factorization.·The·ETree·object·is·updated·(the·front·sizes·and·boundary·sizes·may·change)\xd
65 ···················andisoptionally·written·out·to·outETreeFile.·The·old-to-new·IV·object·is·optionally·written\xd65 ···················andisoptionally·written·out·to·outETreeFile.·The·old-to-new·IV·object·is·optionally·written\xd
66 ···················to·outIVfile.·The·IVL·object·that·contains·the·symbolic·factorization·is·optionally·written\xd66 ···················to·outIVfile.·The·IVL·object·that·contains·the·symbolic·factorization·is·optionally·written\xd
67 ···················to·outIVLfile.\xd67 ···················to·outIVLfile.\xd
68 ·······················································SymbFac·:·DRAFT············January·15,·2021···································3\xd68 ·······················································SymbFac·:·DRAFT···········February·18,·2022···································3\xd
69 ·····························The·msglvl·parameter·determines·the·amount·of·output.\xd69 ·····························The·msglvl·parameter·determines·the·amount·of·output.\xd
70 ·····························The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd70 ·····························The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
71 ·······························message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd71 ·······························message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd
72 ·······························data.\xd72 ·······························data.\xd
73 ·····························TheinETreeFileparameteristheinputfilefortheETreeobject.·It·mustbeof·theform\xd73 ·····························TheinETreeFileparameteristheinputfilefortheETreeobject.·It·mustbeof·theform\xd
74 ·······························*.etreefor*.etreeb.·TheETreeobjectisreadfromthefileviatheETree·readFromFile()\xd74 ·······························*.etreefor*.etreeb.·TheETreeobjectisreadfromthefileviatheETree·readFromFile()\xd
75 ·······························method.\xd75 ·······························method.\xd
Offset 101, 15 lines modifiedOffset 101, 15 lines modified
101 ·······························data.\xd101 ·······························data.\xd
102 ·····························TheinETreeFileparameteristheinputfilefortheETreeobject.·It·mustbeof·theform\xd102 ·····························TheinETreeFileparameteristheinputfilefortheETreeobject.·It·mustbeof·theform\xd
103 ·······························*.etreefor*.etreeb.·TheETreeobjectisreadfromthefileviatheETree·readFromFile()\xd103 ·······························*.etreefor*.etreeb.·TheETreeobjectisreadfromthefileviatheETree·readFromFile()\xd
104 ·······························method.\xd104 ·······························method.\xd
105 ·····························TheinGraphFileparameteristheinputfilefortheGraphobject.·It·mustbeof·theform\xd105 ·····························TheinGraphFileparameteristheinputfilefortheGraphobject.·It·mustbeof·theform\xd
106 ·······························*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd106 ·······························*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd
107 ·······························method.\xd107 ·······························method.\xd
108 ··················4······································SymbFac·:·DRAFT·January·15,·2021\xd108 ··················4·····································SymbFac·:·DRAFT·February·18,·2022\xd
109 ·····························TheoutETreeFileparameter·is·the·output·file·for·the·ETree·object.·If·outETreeFileis\xd109 ·····························TheoutETreeFileparameter·is·the·output·file·for·the·ETree·object.·If·outETreeFileis\xd
110 ·······························nonethentheETreeobjectisnotwrittentoafile.·Otherwise,theETree·writeToFile()\xd110 ·······························nonethentheETreeobjectisnotwrittentoafile.·Otherwise,theETree·writeToFile()\xd
111 ·······························method·is·called·to·write·the·object·to·a·formatted·file·(if·outETreeFile·is·of·the·form\xd111 ·······························method·is·called·to·write·the·object·to·a·formatted·file·(if·outETreeFile·is·of·the·form\xd
112 ·······························*.etreef),·or·a·binary·file·(if·outETreeFile·is·of·the·form·*.etreeb).\xd112 ·······························*.etreef),·or·a·binary·file·(if·outETreeFile·is·of·the·form·*.etreeb).\xd
113 ·····························The·outIVfile·parameter·is·the·output·file·for·the·vertex-to-front·map·IV·object.\xd113 ·····························The·outIVfile·parameter·is·the·output·file·for·the·vertex-to-front·map·IV·object.\xd
114 ·······························If·outIVfile·is·none·then·the·IV·object·is·not·written·to·a·file.······················Otherwise,·the\xd114 ·······························If·outIVfile·is·none·then·the·IV·object·is·not·written·to·a·file.······················Otherwise,·the\xd
115 ·······························IV·writeToFile()methodis·called·to·write·the·object·to·a·formatted·file·(if·outIVfile\xd115 ·······························IV·writeToFile()methodis·called·to·write·the·object·to·a·formatted·file·(if·outIVfile\xd
46.8 KB
./usr/share/doc/spooles-doc/Tree.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3625871 gzip·compressed·data,·max·compression,·from·Unix,·original·size·362793
46.5 KB
Tree.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMBX10·CMSY10·CMMI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMTI10·CMBX10·CMSY10·CMMI10
9 %%+·CMSL10·CMR8·CMMI8·CMCSC109 %%+·CMSL10·CMR8·CMMI8·CMCSC10
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·Tree.ps13 %DVIPSCommandLine:·dvips·main·-o·Tree.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1562, 19 lines modifiedOffset 1562, 20 lines modified
1562 end·readonly·def1562 end·readonly·def
1563 /Encoding·256·array1563 /Encoding·256·array
1564 0·1·255·{1·index·exch·/.notdef·put}·for1564 0·1·255·{1·index·exch·/.notdef·put}·for
1565 dup·44·/comma·put1565 dup·44·/comma·put
1566 dup·48·/zero·put1566 dup·48·/zero·put
1567 dup·49·/one·put1567 dup·49·/one·put
1568 dup·50·/two·put1568 dup·50·/two·put
1569 dup·53·/five·put1569 dup·56·/eight·put
1570 dup·58·/colon·put1570 dup·58·/colon·put
1571 dup·74·/J·put1571 dup·70·/F·put
1572 dup·97·/a·put1572 dup·97·/a·put
 1573 dup·98·/b·put
1573 dup·110·/n·put1574 dup·101·/e·put
1574 dup·114·/r·put1575 dup·114·/r·put
1575 dup·117·/u·put1576 dup·117·/u·put
1576 dup·121·/y·put1577 dup·121·/y·put
1577 readonly·def1578 readonly·def
1578 currentdict·end1579 currentdict·end
1579 currentfile·eexec1580 currentfile·eexec
1580 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71581 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1758, 84 lines modifiedOffset 1759, 86 lines modified
1758 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1759 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1759 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821760 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1760 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1761 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1761 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51762 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1762 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051763 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1763 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051764 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1764 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671765 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1765 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041766 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1766 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1767 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1768 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1769 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1770 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1771 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1772 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1773 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1774 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1775 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1776 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1777 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1778 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1779 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1780 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1781 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1782 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1783 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1784 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1785 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1786 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1787 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1788 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1789 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1790 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1791 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1792 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1793 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1794 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1795 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1796 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1797 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1798 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1799 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1800 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1801 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1802 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1803 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1804 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1805 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1806 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1807 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1808 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1809 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1810 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1811 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1812 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1813 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1814 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1815 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1816 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1817 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1818 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1819 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1820 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1821 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1822 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1823 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1824 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1825 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1826 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1827 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1828 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1829 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1830 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1831 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1832 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1833 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1834 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51767 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1768 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1769 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1770 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1771 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1772 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1773 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1774 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1775 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1776 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1777 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1778 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1779 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1780 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 20733/31891 bytes (65.01%) of diff not shown.
15.4 KB
ps2ascii {}
    
Offset 20, 15 lines modifiedOffset 20, 15 lines modified
20 ··············int·*sib·:·pointer·to·sibling·vector,·size·n,·entries·in·the·range·[-1,n-1]\xd20 ··············int·*sib·:·pointer·to·sibling·vector,·size·n,·entries·in·the·range·[-1,n-1]\xd
21 ···········The·user·should·rarely·if·ever·change·these·five·fields.·In·particular,·throughout·the·code·we\xd21 ···········The·user·should·rarely·if·ever·change·these·five·fields.·In·particular,·throughout·the·code·we\xd
22 ···········assume·that·the·Tree·object·was·correctly·initialized·using·one·of·the·three·initializer·methods.\xd22 ···········assume·that·the·Tree·object·was·correctly·initialized·using·one·of·the·three·initializer·methods.\xd
23 ···········Inside·almost·every·method·we·check·to·ensure·n·>·0.·If·n·>·0·then·we·assume·that·the·structure\xd23 ···········Inside·almost·every·method·we·check·to·ensure·n·>·0.·If·n·>·0·then·we·assume·that·the·structure\xd
24 ···········was·intialized·correctly·and·that·the·par,·fch·and·sib·fields·point·to·storage·that·was·allocated·by\xd24 ···········was·intialized·correctly·and·that·the·par,·fch·and·sib·fields·point·to·storage·that·was·allocated·by\xd
25 ···········the·initializer·method.\xd25 ···········the·initializer·method.\xd
26 ·············································1\xd26 ·············································1\xd
27 ··············2····························Tree·:·DRAFT·January·15,·2021\xd27 ··············2····························Tree·:·DRAFT·February·18,·2022\xd
28 ··············1.2···Prototypes·and·descriptions·of·Tree·methods\xd28 ··············1.2···Prototypes·and·descriptions·of·Tree·methods\xd
29 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Tree\xd29 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Tree\xd
30 ··············object.\xd30 ··············object.\xd
31 ··············1.2.1··Basic·methods\xd31 ··············1.2.1··Basic·methods\xd
32 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd32 ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd
33 ··············any·allocated·data,·and·free’ing·the·object.\xd33 ··············any·allocated·data,·and·free’ing·the·object.\xd
34 ················1.·Tree·*·Tree_new·(·void·)·;\xd34 ················1.·Tree·*·Tree_new·(·void·)·;\xd
Offset 52, 15 lines modifiedOffset 52, 15 lines modified
52 ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd52 ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
53 ················2.·int·Tree_root·(·Tree·*tree·)·;\xd53 ················2.·int·Tree_root·(·Tree·*tree·)·;\xd
54 ··················This·method·returns·the·root·of·the·tree.\xd54 ··················This·method·returns·the·root·of·the·tree.\xd
55 ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd55 ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
56 ················3.·int·*·Tree_par·(·Tree·*tree·)·;\xd56 ················3.·int·*·Tree_par·(·Tree·*tree·)·;\xd
57 ··················This·method·returns·a·pointer·to·the·parent·vector.\xd57 ··················This·method·returns·a·pointer·to·the·parent·vector.\xd
58 ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd58 ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
59 ······································Tree·:·DRAFT··January·15,·2021····················3\xd59 ······································Tree·:·DRAFT··February·18,·2022···················3\xd
60 ··············4.·int·*·Tree_fch·(·Tree·*tree·)·;\xd60 ··············4.·int·*·Tree_fch·(·Tree·*tree·)·;\xd
61 ·················This·method·returns·a·pointer·to·the·first·child·vector.\xd61 ·················This·method·returns·a·pointer·to·the·first·child·vector.\xd
62 ·················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd62 ·················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
63 ··············5.·int·*·Tree_sib·(·Tree·*tree·)·;\xd63 ··············5.·int·*·Tree_sib·(·Tree·*tree·)·;\xd
64 ·················This·method·returns·a·pointer·to·the·sibling·vector.\xd64 ·················This·method·returns·a·pointer·to·the·sibling·vector.\xd
65 ·················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd65 ·················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
66 ············1.2.3··Initializer·methods\xd66 ············1.2.3··Initializer·methods\xd
Offset 88, 15 lines modifiedOffset 88, 15 lines modified
88 ·················The·subtree·object·is·initialized·from·the·tree·object,·the·nodes·that·are·included·are·those\xd88 ·················The·subtree·object·is·initialized·from·the·tree·object,·the·nodes·that·are·included·are·those\xd
89 ·················found·in·nodeidsIV.·A·parent-child·link·in·the·subtree·means·that·the·two·nodes·have·a\xd89 ·················found·in·nodeidsIV.·A·parent-child·link·in·the·subtree·means·that·the·two·nodes·have·a\xd
90 ·················parent-child·link·in·the·tree.\xd90 ·················parent-child·link·in·the·tree.\xd
91 ·················Return·codes:\xd91 ·················Return·codes:\xd
92 ································1··normal·return······-3··tree·is·NULL\xd92 ································1··normal·return······-3··tree·is·NULL\xd
93 ································-1·subtree·is·NULL····-4··nodeidsIV·is·invalid\xd93 ································-1·subtree·is·NULL····-4··nodeidsIV·is·invalid\xd
94 ································-2·nodeidsIV·is·NULL\xd94 ································-2·nodeidsIV·is·NULL\xd
95 ··············4····························Tree·:·DRAFT·January·15,·2021\xd95 ··············4····························Tree·:·DRAFT·February·18,·2022\xd
96 ················5.·void·Tree_setFchSibRoot·(·Tree·*tree·)·;\xd96 ················5.·void·Tree_setFchSibRoot·(·Tree·*tree·)·;\xd
97 ··················Theroot·and·the·entries·in·the·fch[]·and·sib[]·vectors·are·set·using·the·entries·in·the·par[]\xd97 ··················Theroot·and·the·entries·in·the·fch[]·and·sib[]·vectors·are·set·using·the·entries·in·the·par[]\xd
98 ··················vector.\xd98 ··················vector.\xd
99 ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd99 ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
100 ················6.·void·Tree_setRoot·(·Tree·*tree·)·;\xd100 ················6.·void·Tree_setRoot·(·Tree·*tree·)·;\xd
101 ··················The·vertices·that·are·roots·in·the·tree·are·linked·by·their·sib[]·field·and·the·root·of·the·tree\xd101 ··················The·vertices·that·are·roots·in·the·tree·are·linked·by·their·sib[]·field·and·the·root·of·the·tree\xd
102 ··················is·set·to·the·head·of·the·list.\xd102 ··················is·set·to·the·head·of·the·list.\xd
Offset 122, 15 lines modifiedOffset 122, 15 lines modified
122 ··················This·method·returns·the·first·node·in·a·pre-order·traversal.\xd122 ··················This·method·returns·the·first·node·in·a·pre-order·traversal.\xd
123 ··················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd123 ··················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd
124 ··················program·exits.\xd124 ··················program·exits.\xd
125 ················5.·int·Tree_preOTnext·(·Tree·*tree,·int·v·)·;\xd125 ················5.·int·Tree_preOTnext·(·Tree·*tree,·int·v·)·;\xd
126 ··················This·method·returns·the·node·that·follows·v·in·a·pre-order·traversal.\xd126 ··················This·method·returns·the·node·that·follows·v·in·a·pre-order·traversal.\xd
127 ··················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·or·v·is·not·in·[0,tree->n-1],·an·error\xd127 ··················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·or·v·is·not·in·[0,tree->n-1],·an·error\xd
128 ··················message·is·printed·and·the·program·exits.\xd128 ··················message·is·printed·and·the·program·exits.\xd
129 ······································Tree·:·DRAFT··January·15,·2021····················5\xd129 ······································Tree·:·DRAFT··February·18,·2022···················5\xd
130 ··············6.·int·Tree_nleaves·(·Tree·*tree·)·;\xd130 ··············6.·int·Tree_nleaves·(·Tree·*tree·)·;\xd
131 ·················This·method·returns·the·number·of·leaves·of·the·tree.\xd131 ·················This·method·returns·the·number·of·leaves·of·the·tree.\xd
132 ·················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd132 ·················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd
133 ·················program·exits.\xd133 ·················program·exits.\xd
134 ··············7.·int·Tree_nroots·(·Tree·*tree·)·;\xd134 ··············7.·int·Tree_nroots·(·Tree·*tree·)·;\xd
135 ·················This·method·returns·the·number·of·roots·of·the·tree·(really·a·forest).\xd135 ·················This·method·returns·the·number·of·roots·of·the·tree·(really·a·forest).\xd
136 ·················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd136 ·················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd
Offset 155, 15 lines modifiedOffset 155, 15 lines modified
155 ··············12.·IV·*·Tree_maximizeGainIV·(·Tree·*tree,·IV·*gainIV,·int·*ptotalgain,\xd155 ··············12.·IV·*·Tree_maximizeGainIV·(·Tree·*tree,·IV·*gainIV,·int·*ptotalgain,\xd
156 ··········································int·msglvl,·FILE·*msgFile·)·;\xd156 ··········································int·msglvl,·FILE·*msgFile·)·;\xd
157 ·················Given·a·gain·value·assigned·to·each·node,·find·a·set·of·nodes,·no·two·in·a·child-ancestor\xd157 ·················Given·a·gain·value·assigned·to·each·node,·find·a·set·of·nodes,·no·two·in·a·child-ancestor\xd
158 ·················relationship,·that·maximizes·the·total·gain.·This·problem·arises·in·finding·the·optimal·do-\xd158 ·················relationship,·that·maximizes·the·total·gain.·This·problem·arises·in·finding·the·optimal·do-\xd
159 ·················main/Schur·complement·partition·for·a·semi-implicit·factorization.\xd159 ·················main/Schur·complement·partition·for·a·semi-implicit·factorization.\xd
160 ·················Error·checking:·If·tree,·gainIV·or·ptotalgain·is·NULL,·an·error·message·is·printed·and·the\xd160 ·················Error·checking:·If·tree,·gainIV·or·ptotalgain·is·NULL,·an·error·message·is·printed·and·the\xd
161 ·················program·exits.\xd161 ·················program·exits.\xd
162 ··············6····························Tree·:·DRAFT·January·15,·2021\xd162 ··············6····························Tree·:·DRAFT·February·18,·2022\xd
163 ··············1.2.5··Metrics·methods\xd163 ··············1.2.5··Metrics·methods\xd
164 ··············Manyoperations·need·to·know·some·metric·defined·on·the·nodes·in·a·tree.·Here·are·three·examples:\xd164 ··············Manyoperations·need·to·know·some·metric·defined·on·the·nodes·in·a·tree.·Here·are·three·examples:\xd
165 ··············the·height·of·a·node·(the·minimum·distance·from·a·descendant·leaf),·the·depth·of·a·node·(the\xd165 ··············the·height·of·a·node·(the·minimum·distance·from·a·descendant·leaf),·the·depth·of·a·node·(the\xd
166 ··············distance·from·its·root·ancestor),·or·the·weight·associated·with·a·subtree·rooted·at·a·node.·Of\xd166 ··············distance·from·its·root·ancestor),·or·the·weight·associated·with·a·subtree·rooted·at·a·node.·Of\xd
167 ··············course,·a·weight·could·be·associated·with·each·node,·so·the·height·or·depth·becomes·the·weight·of\xd167 ··············course,·a·weight·could·be·associated·with·each·node,·so·the·height·or·depth·becomes·the·weight·of\xd
168 ··············the·nodes·on·the·path.\xd168 ··············the·nodes·on·the·path.\xd
169 ·················Metrics·can·be·int·or·double.·Because·of·the·limitations·of·C,·we·need·two·separate·methods\xd169 ·················Metrics·can·be·int·or·double.·Because·of·the·limitations·of·C,·we·need·two·separate·methods\xd
Offset 191, 15 lines modifiedOffset 191, 15 lines modified
191 ··················These·methods·create·and·return·IV·or·DV·objects·that·contain·height·metrics·using·as·input\xd191 ··················These·methods·create·and·return·IV·or·DV·objects·that·contain·height·metrics·using·as·input\xd
192 ··················an·IV·or·DV·object·that·contains·the·metric·for·each·of·the·nodes.·If·hmetric[]·is·the·vector\xd192 ··················an·IV·or·DV·object·that·contains·the·metric·for·each·of·the·nodes.·If·hmetric[]·is·the·vector\xd
193 ··················in·the·returned·IV·or·DV·object,·then\xd193 ··················in·the·returned·IV·or·DV·object,·then\xd
194 ··················hmetric[v]·=·vmetric[v]·if·fch[v]·==·-1\xd194 ··················hmetric[v]·=·vmetric[v]·if·fch[v]·==·-1\xd
195 ······························=·vmetric[v]·+·max_{par[u]·=·v}·hmetric[par[v]]\xd195 ······························=·vmetric[v]·+·max_{par[u]·=·v}·hmetric[par[v]]\xd
196 ··················Error·checking:·If·tree·or·vmetric{I,D}V·is·NULL,·an·error·message·is·printed·and·the\xd196 ··················Error·checking:·If·tree·or·vmetric{I,D}V·is·NULL,·an·error·message·is·printed·and·the\xd
197 ··················program·exits.\xd197 ··················program·exits.\xd
198 ··················································Tree·:·DRAFT······January·15,·2021·······························7\xd198 ·················································Tree·:·DRAFT·······February·18,·2022······························7\xd
199 ················1.2.6····Compression·methods\xd199 ················1.2.6····Compression·methods\xd
200 ················Frequently·a·tree·will·need·to·be·compressed·in·some·manner.·Elimination·trees·usually·have·long\xd200 ················Frequently·a·tree·will·need·to·be·compressed·in·some·manner.·Elimination·trees·usually·have·long\xd
201 ················chains·of·nodes·at·the·higher·levels,·where·each·chain·of·nodes·corresponds·to·a·supernode.·Liu’s\xd201 ················chains·of·nodes·at·the·higher·levels,·where·each·chain·of·nodes·corresponds·to·a·supernode.·Liu’s\xd
202 ················generalized·row·envelope·methods·partition·the·vertices·by·longest·chains·[?].·In·both·cases,·we·can\xd202 ················generalized·row·envelope·methods·partition·the·vertices·by·longest·chains·[?].·In·both·cases,·we·can\xd
203 ················construct·a·map·from·each·node·to·a·set·of·nodes·to·define·a·smaller,·more·compact·tree.·Given\xd203 ················construct·a·map·from·each·node·to·a·set·of·nodes·to·define·a·smaller,·more·compact·tree.·Given\xd
204 ················such·a·map,·we·construct·the·smaller·tree.\xd204 ················such·a·map,·we·construct·the·smaller·tree.\xd
205 ····················Afundamental·chain·is·a·set·of·nodes·v·,...,v·····such·that·(1)·v·is·a·leaf·or·has·two·or·more\xd205 ····················Afundamental·chain·is·a·set·of·nodes·v·,...,v·····such·that·(1)·v·is·a·leaf·or·has·two·or·more\xd
Offset 232, 15 lines modifiedOffset 232, 15 lines modified
232 ······················Error·checking:·If·tree·or·map·is·NULL,·or·if·n·<·1,·an·error·message·is·printed·and·the\xd232 ······················Error·checking:·If·tree·or·map·is·NULL,·or·if·n·<·1,·an·error·message·is·printed·and·the\xd
233 ······················program·exits.\xd233 ······················program·exits.\xd
234 ···················2.·void·Tree_leftJustifyI·(·Tree·*tree,·IV·*metricIV·)·;\xd234 ···················2.·void·Tree_leftJustifyI·(·Tree·*tree,·IV·*metricIV·)·;\xd
235 ······················void·Tree_leftJustifyD·(·Tree·*tree,·DV·*metricIV·)·;\xd235 ······················void·Tree_leftJustifyD·(·Tree·*tree,·DV·*metricIV·)·;\xd
236 ······················This·method·justifies·the·tree,·reordering·the·children·of·each·node·as·necessary.·If·u·and·v\xd236 ······················This·method·justifies·the·tree,·reordering·the·children·of·each·node·as·necessary.·If·u·and·v\xd
237 ······················are·siblings,·and·u·comes·before·v·in·a·post-order·traversal,·then·the·weight·of·the·subtree\xd237 ······················are·siblings,·and·u·comes·before·v·in·a·post-order·traversal,·then·the·weight·of·the·subtree\xd
238 ······················rooted·at·u·is·as·large·or·larger·than·the·weight·of·the·subtree·rooted·at·v.\xd238 ······················rooted·at·u·is·as·large·or·larger·than·the·weight·of·the·subtree·rooted·at·v.\xd
239 ··············8····························Tree·:·DRAFT·January·15,·2021\xd239 ··············8····························Tree·:·DRAFT·February·18,·2022\xd
240 ··················Error·checking:·If·tree·or·metricIV·is·NULL,·or·if·n·<·1,·or·if·n·is·not·the·size·of·metricIV,\xd240 ··················Error·checking:·If·tree·or·metricIV·is·NULL,·or·if·n·<·1,·or·if·n·is·not·the·size·of·metricIV,\xd
241 ··················an·error·message·is·printed·and·the·program·exits.\xd241 ··················an·error·message·is·printed·and·the·program·exits.\xd
242 ··············1.2.8··Permutation·methods\xd242 ··············1.2.8··Permutation·methods\xd
243 ··············Often·we·need·to·extract·a·permutation·from·a·tree,·e.g.,·a·post-order·traversal·of·an·elimination\xd243 ··············Often·we·need·to·extract·a·permutation·from·a·tree,·e.g.,·a·post-order·traversal·of·an·elimination\xd
244 ··············tree·gives·an·ordering·for·a·sparse·matrix.·On·other·occasions,·we·need·to·permute·a·tree,·i.e.\xd244 ··············tree·gives·an·ordering·for·a·sparse·matrix.·On·other·occasions,·we·need·to·permute·a·tree,·i.e.\xd
245 ··············re-label·the·nodes.\xd245 ··············re-label·the·nodes.\xd
246 ················1.·void·Tree_fillNewToOldPerm·(·Tree·*tree,·int·newToOld[]·)·;\xd246 ················1.·void·Tree_fillNewToOldPerm·(·Tree·*tree,·int·newToOld[]·)·;\xd
Offset 269, 15 lines modifiedOffset 269, 15 lines modified
269 ··················Return·codes:\xd269 ··················Return·codes:\xd
270 ···································1··normal·return··········-3··coordflag·is·invalid\xd270 ···································1··normal·return··········-3··coordflag·is·invalid\xd
271 ··································-1··tree·is·NULL···········-3··xDV·is·NULL\xd271 ··································-1··tree·is·NULL···········-3··xDV·is·NULL\xd
272 ··································-2··heightflag·is·invalid··-4··yDV·is·NULL\xd272 ··································-2··heightflag·is·invalid··-4··yDV·is·NULL\xd
273 ················2.·int·Tree_drawToEPS·(·Tree·*tree,·FILE·*filename,·DV·*xDV,·DV·*yDV,\xd273 ················2.·int·Tree_drawToEPS·(·Tree·*tree,·FILE·*filename,·DV·*xDV,·DV·*yDV,\xd
274 ········································double·rscale,·DV·*radiusDV,·int·labelflag,\xd274 ········································double·rscale,·DV·*radiusDV,·int·labelflag,\xd
275 ········································double·fontscale,·IV·*labelsIV,·double·bbox[],\xd275 ········································double·fontscale,·IV·*labelsIV,·double·bbox[],\xd
276 ······································Tree·:·DRAFT··January·15,·2021····················9\xd276 ······································Tree·:·DRAFT··February·18,·2022···················9\xd
277 ····································double·frame[],·double·bounds[]·)·;\xd277 ····································double·frame[],·double·bounds[]·)·;\xd
278 ·················This·method·draws·a·tree.·The·coordinates·of·the·nodes·are·found·in·the·xDV·and·yDV·vectors.\xd278 ·················This·method·draws·a·tree.·The·coordinates·of·the·nodes·are·found·in·the·xDV·and·yDV·vectors.\xd
279 ·················The·nodes·will·have·circles·of·constant·radius·(if·radiusDV·is·NULL)·or·each·circle·can·have·a\xd279 ·················The·nodes·will·have·circles·of·constant·radius·(if·radiusDV·is·NULL)·or·each·circle·can·have·a\xd
280 ·················different·radius·found·in·radiusDV·when·radiusDV·is·not·NULL.·The·value·rscale·is·used·to\xd280 ·················different·radius·found·in·radiusDV·when·radiusDV·is·not·NULL.·The·value·rscale·is·used·to\xd
281 ·················scale·all·the·radii.·(If·radiusDV·is·NULL,·then·all·radii·are·equal·to·one·point··there·are·72\xd281 ·················scale·all·the·radii.·(If·radiusDV·is·NULL,·then·all·radii·are·equal·to·one·point··there·are·72\xd
282 ·················points·to·the·inch.)\xd282 ·················points·to·the·inch.)\xd
283 ·················If·labelflag·=·1,·the·nodes·will·have·a·numeric·label.·If·labelsIV·is·NULL,·then·the·label\xd283 ·················If·labelflag·=·1,·the·nodes·will·have·a·numeric·label.·If·labelsIV·is·NULL,·then·the·label\xd
Max diff block lines reached; 4972/15730 bytes (31.61%) of diff not shown.
111 KB
./usr/share/doc/spooles-doc/Utilities.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·4281731 gzip·compressed·data,·max·compression,·from·Unix,·original·size·428451
111 KB
Utilities.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMBX10·CMSY10·CMSL10·CMTI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMBX10·CMSY10·CMSL10·CMTI10
9 %%+·CMEX10·CMTT8·CMSY8·CMR8·CMMI10·CMMI89 %%+·CMEX10·CMTT8·CMSY8·CMR8·CMMI10·CMMI8
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·Utilities.ps13 %DVIPSCommandLine:·dvips·main·-o·Utilities.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 2651, 19 lines modifiedOffset 2651, 20 lines modified
2651 end·readonly·def2651 end·readonly·def
2652 /Encoding·256·array2652 /Encoding·256·array
2653 0·1·255·{1·index·exch·/.notdef·put}·for2653 0·1·255·{1·index·exch·/.notdef·put}·for
2654 dup·44·/comma·put2654 dup·44·/comma·put
2655 dup·48·/zero·put2655 dup·48·/zero·put
2656 dup·49·/one·put2656 dup·49·/one·put
2657 dup·50·/two·put2657 dup·50·/two·put
2658 dup·53·/five·put2658 dup·56·/eight·put
2659 dup·58·/colon·put2659 dup·58·/colon·put
2660 dup·74·/J·put2660 dup·70·/F·put
2661 dup·97·/a·put2661 dup·97·/a·put
 2662 dup·98·/b·put
2662 dup·110·/n·put2663 dup·101·/e·put
2663 dup·114·/r·put2664 dup·114·/r·put
2664 dup·117·/u·put2665 dup·117·/u·put
2665 dup·121·/y·put2666 dup·121·/y·put
2666 readonly·def2667 readonly·def
2667 currentdict·end2668 currentdict·end
2668 currentfile·eexec2669 currentfile·eexec
2669 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E72670 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 2847, 84 lines modifiedOffset 2848, 86 lines modified
2847 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A2848 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
2848 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380822849 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
2849 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E2850 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
2850 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A52851 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
2851 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B052852 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
2852 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C052853 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
2853 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97672854 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
2854 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7042855 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
2855 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
2856 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
2857 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
2858 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
2859 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
2860 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
2861 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
2862 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
2863 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
2864 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
2865 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
2866 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
2867 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
2868 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
2869 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
2870 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
2871 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
2872 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
2873 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
2874 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
2875 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
2876 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
2877 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
2878 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
2879 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
2880 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
2881 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
2882 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
2883 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
2884 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
2885 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
2886 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
2887 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
2888 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
2889 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
2890 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
2891 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
2892 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
2893 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
2894 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
2895 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
2896 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
2897 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
2898 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
2899 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
2900 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
2901 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
2902 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
2903 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
2904 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
2905 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
2906 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
2907 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
2908 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
2909 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
2910 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
2911 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
2912 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
2913 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
2914 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
2915 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
2916 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
2917 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
2918 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
2919 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
2920 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
2921 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
2922 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
2923 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE52856 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 2857 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 2858 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 2859 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 2860 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 2861 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 2862 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 2863 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 2864 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 2865 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 2866 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 2867 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 2868 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 2869 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 64163/75333 bytes (85.17%) of diff not shown.
37.3 KB
ps2ascii {}
    
Offset 22, 15 lines modifiedOffset 22, 15 lines modified
22 ·····················struct·_I2OP·{\xd22 ·····················struct·_I2OP·{\xd
23 ·······················int···value0·;\xd23 ·······················int···value0·;\xd
24 ·······················int···value1·;\xd24 ·······················int···value1·;\xd
25 ·······················void··*value2·;\xd25 ·······················void··*value2·;\xd
26 ·······················I2OP··*next··;\xd26 ·······················I2OP··*next··;\xd
27 ·····················}·;\xd27 ·····················}·;\xd
28 ·············································1\xd28 ·············································1\xd
29 ··············2··························Utilities·:·DRAFT·January·15,·2021\xd29 ··············2·························Utilities·:·DRAFT·February·18,·2022\xd
30 ··············1.2···Prototypes·and·descriptions·of·Utilities·methods\xd30 ··············1.2···Prototypes·and·descriptions·of·Utilities·methods\xd
31 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd31 ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd
32 ··············Utilities·directory.\xd32 ··············Utilities·directory.\xd
33 ··············1.2.1··CV·:·char·vector·methods\xd33 ··············1.2.1··CV·:·char·vector·methods\xd
34 ················1.·char·*·CVinit·(·int·n,·char·c·)·;\xd34 ················1.·char·*·CVinit·(·int·n,·char·c·)·;\xd
35 ···················This·is·the·allocator·and·initializer·method·for·char·vectors.·Storage·for·an·array·with·size\xd35 ···················This·is·the·allocator·and·initializer·method·for·char·vectors.·Storage·for·an·array·with·size\xd
36 ···················n·is·found·and·each·entry·is·filled·with·character·c.·A·pointer·to·the·array·is·returned.\xd36 ···················n·is·found·and·each·entry·is·filled·with·character·c.·A·pointer·to·the·array·is·returned.\xd
Offset 54, 15 lines modifiedOffset 54, 15 lines modified
54 ················8.·int·CVfscanf·(·FILE·*fp,·int·n,·char·y[]·)·;\xd54 ················8.·int·CVfscanf·(·FILE·*fp,·int·n,·char·y[]·)·;\xd
55 ···················This·method·scans·in·characters·from·file·fp·and·places·them·in·the·array·y[].·It·tries·to\xd55 ···················This·method·scans·in·characters·from·file·fp·and·places·them·in·the·array·y[].·It·tries·to\xd
56 ···················read·in·n·characters,·and·returns·the·number·that·were·actually·read.\xd56 ···················read·in·n·characters,·and·returns·the·number·that·were·actually·read.\xd
57 ··············1.2.2··DV·:·double·vector·methods\xd57 ··············1.2.2··DV·:·double·vector·methods\xd
58 ················1.·double·*·DVinit·(·int·n,·double·val·)·;\xd58 ················1.·double·*·DVinit·(·int·n,·double·val·)·;\xd
59 ···················This·is·the·allocator·and·initializer·method·for·double·vectors.·Storage·for·an·array·with·size\xd59 ···················This·is·the·allocator·and·initializer·method·for·double·vectors.·Storage·for·an·array·with·size\xd
60 ···················n·is·found·and·each·entry·is·filled·with·val.·A·pointer·to·the·array·is·returned.\xd60 ···················n·is·found·and·each·entry·is·filled·with·val.·A·pointer·to·the·array·is·returned.\xd
61 ····································Utilities·:·DRAFT···January·15,·2021·················3\xd61 ····································Utilities·:·DRAFT··February·18,·2022·················3\xd
62 ···············2.·double·*·DVinit2·(·int·n·)·;\xd62 ···············2.·double·*·DVinit2·(·int·n·)·;\xd
63 ·················This·is·an·allocator·method·for·double·vectors.·Storage·for·an·array·with·size·n·is·found.·A\xd63 ·················This·is·an·allocator·method·for·double·vectors.·Storage·for·an·array·with·size·n·is·found.·A\xd
64 ·················pointer·to·the·array·is·returned.·Note,·on·return,·there·will·likely·be·garbage·in·the·array.\xd64 ·················pointer·to·the·array·is·returned.·Note,·on·return,·there·will·likely·be·garbage·in·the·array.\xd
65 ···············3.·void·DVfree·(·int·vec[]·)·;\xd65 ···············3.·void·DVfree·(·int·vec[]·)·;\xd
66 ·················This·method·releases·the·storage·taken·by·vec[].\xd66 ·················This·method·releases·the·storage·taken·by·vec[].\xd
67 ···············4.·void·DVfprintf·(·FILE·*fp,·int·n,·double·y[]·)·;\xd67 ···············4.·void·DVfprintf·(·FILE·*fp,·int·n,·double·y[]·)·;\xd
68 ·················This·method·prints·n·entries·in·y[]·to·file·fp.·The·format·is·new·line·followed·by·lines·of·six\xd68 ·················This·method·prints·n·entries·in·y[]·to·file·fp.·The·format·is·new·line·followed·by·lines·of·six\xd
Offset 90, 15 lines modifiedOffset 90, 15 lines modified
90 ·················This·method·computes·this·computation.\xd90 ·················This·method·computes·this·computation.\xd
91 ·················y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]\xd91 ·················y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]\xd
92 ·················y1[]·=·y1[]·+·alpha[2]·*·x0[]·+·alpha[3]·*·x1[]\xd92 ·················y1[]·=·y1[]·+·alpha[2]·*·x0[]·+·alpha[3]·*·x1[]\xd
93 ·················y2[]·=·y2[]·+·alpha[4]·*·x0[]·+·alpha[5]·*·x1[]\xd93 ·················y2[]·=·y2[]·+·alpha[4]·*·x0[]·+·alpha[5]·*·x1[]\xd
94 ··············11.·void·DVaxpy31·(·int·n,·double·y0[],·double·y1[],·double·y2[],\xd94 ··············11.·void·DVaxpy31·(·int·n,·double·y0[],·double·y1[],·double·y2[],\xd
95 ································double·alpha,·double·x0[],·double·x1[]·)·;\xd95 ································double·alpha,·double·x0[],·double·x1[]·)·;\xd
96 ·················This·method·computes·this·computation.\xd96 ·················This·method·computes·this·computation.\xd
97 ·······4·············Utilities·:·DRAFT·January·15,·2021\xd97 ·······4·············Utilities·:·DRAFT·February·18,·2022\xd
98 ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]\xd98 ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]\xd
99 ··········y1[]·=·y1[]·+·alpha[1]·*·x0[]\xd99 ··········y1[]·=·y1[]·+·alpha[1]·*·x0[]\xd
100 ··········y2[]·=·y2[]·+·alpha[2]·*·x0[]\xd100 ··········y2[]·=·y2[]·+·alpha[2]·*·x0[]\xd
101 ········12.·void·DVaxpy23·(·int·n,·double·y0[],·double·y1[],\xd101 ········12.·void·DVaxpy23·(·int·n,·double·y0[],·double·y1[],\xd
102 ··················double·alpha,·double·x0[],·double·x1[],·double·x2[]·)·;\xd102 ··················double·alpha,·double·x0[],·double·x1[],·double·x2[]·)·;\xd
103 ··········This·method·computes·this·computation.\xd103 ··········This·method·computes·this·computation.\xd
104 ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]·+·alpha[2]·*·x2[]\xd104 ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]·+·alpha[2]·*·x2[]\xd
Offset 121, 15 lines modifiedOffset 121, 15 lines modified
121 ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]\xd121 ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]\xd
122 ········17.·void·DVaxpy11·(·int·n,·double·y0[],·double·alpha,·double·x0[]·)·;\xd122 ········17.·void·DVaxpy11·(·int·n,·double·y0[],·double·alpha,·double·x0[]·)·;\xd
123 ··········This·method·computes·this·computation.\xd123 ··········This·method·computes·this·computation.\xd
124 ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]\xd124 ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]\xd
125 ········18.·void·DVaxpyi·(·int·n,·double·y[],·int·index[],·double·alpha,·double·x[]·)·;\xd125 ········18.·void·DVaxpyi·(·int·n,·double·y[],·int·index[],·double·alpha,·double·x[]·)·;\xd
126 ··········This·method·scatteradds·a·scaled·multiple·of·n·entries·from·x[]·into·y[],·i.e.,·y[index[i]]\xd126 ··········This·method·scatteradds·a·scaled·multiple·of·n·entries·from·x[]·into·y[],·i.e.,·y[index[i]]\xd
127 ··········+=·alpha·*·x[i]·for·0·<=·i·<·n.\xd127 ··········+=·alpha·*·x[i]·for·0·<=·i·<·n.\xd
128 ·······································Utilities·:·DRAFT····January·15,·2021·····················5\xd128 ·······································Utilities·:·DRAFT····February·18,·2022····················5\xd
129 ···············19.·void·DVcompress·(·int·n1,·double·x1[],·double·y1[],\xd129 ···············19.·void·DVcompress·(·int·n1,·double·x1[],·double·y1[],\xd
130 ·····································int·n2,·double·x2[],·double·y2[]·)·;\xd130 ·····································int·n2,·double·x2[],·double·y2[]·)·;\xd
131 ··················Given·a·pair·of·arrays·x1[n1]·and·y1[n1],·fill·x2[n2]·and·y2[n2]·with·a·subset·of·the\xd131 ··················Given·a·pair·of·arrays·x1[n1]·and·y1[n1],·fill·x2[n2]·and·y2[n2]·with·a·subset·of·the\xd
132 ··················(x1[j],y1[j]·entries·whose·distribution·is·an·approximation.\xd132 ··················(x1[j],y1[j]·entries·whose·distribution·is·an·approximation.\xd
133 ···············20.·void·DVcopy·(·int·n,·double·y[],·double·x[]·)·;\xd133 ···············20.·void·DVcopy·(·int·n,·double·y[],·double·x[]·)·;\xd
134 ··················This·method·copies·n·entries·from·x[]·to·y[],·i.e.,·y[i]·=·x[i]·for·0·<=·i·<·n.\xd134 ··················This·method·copies·n·entries·from·x[]·to·y[],·i.e.,·y[i]·=·x[i]·for·0·<=·i·<·n.\xd
135 ···············21.·int·DVdot·(·int·n,·double·y[],·double·x[]·)·;\xd135 ···············21.·int·DVdot·(·int·n,·double·y[],·double·x[]·)·;\xd
Offset 167, 15 lines modifiedOffset 167, 15 lines modified
167 ····························i=0\xd167 ····························i=0\xd
168 ····························n−1\xd168 ····························n−1\xd
169 ···················sums[1]·=·Xrow1[i]∗col0[i]\xd169 ···················sums[1]·=·Xrow1[i]∗col0[i]\xd
170 ····························i=0\xd170 ····························i=0\xd
171 ····························n−1\xd171 ····························n−1\xd
172 ···················sums[2]·=·Xrow2[i]∗col0[i]\xd172 ···················sums[2]·=·Xrow2[i]∗col0[i]\xd
173 ····························i=0\xd173 ····························i=0\xd
174 ·············6··························Utilities·:·DRAFT·January·15,·2021\xd174 ·············6··························Utilities·:·DRAFT·February·18,·2022\xd
175 ···············25.·int·DVdot23·(·int·n,·double·row0[],·double·row1[],\xd175 ···············25.·int·DVdot23·(·int·n,·double·row0[],·double·row1[],\xd
176 ·································double·col0[],·double·col1[],·double·col2[],·double·sums[]·)·;\xd176 ·································double·col0[],·double·col1[],·double·col2[],·double·sums[]·)·;\xd
177 ··················This·method·computes·six·dot·products.\xd177 ··················This·method·computes·six·dot·products.\xd
178 ····························n−1··························n−1·························n−1\xd178 ····························n−1··························n−1·························n−1\xd
179 ···················sums[0]·=·Xrow0[i]∗col0[i]···sums[1]·=·Xrow0[i]∗col1[i]··sums[2]·=·Xrow0[i]∗col2[i]\xd179 ···················sums[0]·=·Xrow0[i]∗col0[i]···sums[1]·=·Xrow0[i]∗col1[i]··sums[2]·=·Xrow0[i]∗col2[i]\xd
180 ····························i=0··························i=0·························i=0\xd180 ····························i=0··························i=0·························i=0\xd
181 ····························n−1··························n−1·························n−1\xd181 ····························n−1··························n−1·························n−1\xd
Offset 212, 15 lines modifiedOffset 212, 15 lines modified
212 ···················sums[0]·=·Xrow0[i]∗col0[i]···sums[1]·=·Xrow0[i]∗col1[i]\xd212 ···················sums[0]·=·Xrow0[i]∗col0[i]···sums[1]·=·Xrow0[i]∗col1[i]\xd
213 ····························i=0··························i=0\xd213 ····························i=0··························i=0\xd
214 ···············30.·int·DVdot11·(·int·n,·double·row0[],·double·col0[],·double·sums[]·)·;\xd214 ···············30.·int·DVdot11·(·int·n,·double·row0[],·double·col0[],·double·sums[]·)·;\xd
215 ··················This·method·computes·one·dot·product.\xd215 ··················This·method·computes·one·dot·product.\xd
216 ····························n−1\xd216 ····························n−1\xd
217 ···················sums[0]·=·Xrow0[i]∗col0[i]\xd217 ···················sums[0]·=·Xrow0[i]∗col0[i]\xd
218 ····························i=0\xd218 ····························i=0\xd
219 ····································Utilities·:·DRAFT···January·15,·2021·················7\xd219 ····································Utilities·:·DRAFT··February·18,·2022·················7\xd
220 ··············31.·int·DVdoti·(·int·n,·double·y[],·int·index[],·double·x[]·)·;\xd220 ··············31.·int·DVdoti·(·int·n,·double·y[],·int·index[],·double·x[]·)·;\xd
221 ······················································n−1\xd221 ······················································n−1\xd
222 ·················This·method·returns·the·indexed·dot·product·Xy[index[i]]∗x[i].\xd222 ·················This·method·returns·the·indexed·dot·product·Xy[index[i]]∗x[i].\xd
223 ······················································i=0\xd223 ······················································i=0\xd
224 ··············32.·void·DVfill·(·int·n,·double·y[],·double·val·)·;\xd224 ··············32.·void·DVfill·(·int·n,·double·y[],·double·val·)·;\xd
225 ·················This·method·fills·n·entries·in·y[]·with·val,·i.e.,·y[i]·=·val·for·0·<=·i·<·n.\xd225 ·················This·method·fills·n·entries·in·y[]·with·val,·i.e.,·y[i]·=·val·for·0·<=·i·<·n.\xd
226 ··············33.·void·DVgather·(·int·n,·double·y[],·double·x[],·int·index[]·)·;\xd226 ··············33.·void·DVgather·(·int·n,·double·y[],·double·x[],·int·index[]·)·;\xd
Offset 248, 15 lines modifiedOffset 248, 15 lines modified
248 ·················This·method·permutes·the·vector·y·as·follows.·i.e.,·y[i]·:=·y[index[i]].·See·DVinvPerm()\xd248 ·················This·method·permutes·the·vector·y·as·follows.·i.e.,·y[i]·:=·y[index[i]].·See·DVinvPerm()\xd
249 ·················for·a·similar·function.\xd249 ·················for·a·similar·function.\xd
250 ··············42.·void·DVramp·(·int·n,·double·y[],·double·start,·double·inc·)·;\xd250 ··············42.·void·DVramp·(·int·n,·double·y[],·double·start,·double·inc·)·;\xd
251 ·················This·method·fills·n·entries·in·y[]·with·values·start,·start·+·inc,·start·+·2*inc,·start\xd251 ·················This·method·fills·n·entries·in·y[]·with·values·start,·start·+·inc,·start·+·2*inc,·start\xd
252 ·················+·3*inc,·etc.\xd252 ·················+·3*inc,·etc.\xd
253 ··············43.·void·DVscale·(·int·n,·double·y[],·double·alpha·)·;\xd253 ··············43.·void·DVscale·(·int·n,·double·y[],·double·alpha·)·;\xd
254 ·················This·method·scales·a·vector·y[]·by·alpha,·i.e.,·y[i]·*=·alpha.·for·0·<=·i·<·n.\xd254 ·················This·method·scales·a·vector·y[]·by·alpha,·i.e.,·y[i]·*=·alpha.·for·0·<=·i·<·n.\xd
255 ·····························8··························································Utilities·:·DRAFT·January·15,·2021\xd255 ·····························8·························································Utilities·:·DRAFT·February·18,·2022\xd
256 ································44.·void·DVscale2·(·int·n,·double·x[],·double·y[],\xd256 ································44.·void·DVscale2·(·int·n,·double·x[],·double·y[],\xd
257 ·············································································double·a,·double·b,·double·c,·double·d·)·;\xd257 ·············································································double·a,·double·b,·double·c,·double·d·)·;\xd
258 ········································This·method·scales·two·vectors·y[]·by·a·2·×2·matrix,·i.e.,\xd258 ········································This·method·scales·two·vectors·y[]·by·a·2·×2·matrix,·i.e.,\xd
259 ·······································································"·x[0]··········.·.·.····x[n−1]·#·:=·"·a·b·#"·x[0]·...·x[n−1]·#.\xd259 ·······································································"·x[0]··········.·.·.····x[n−1]·#·:=·"·a·b·#"·x[0]·...·x[n−1]·#.\xd
260 ············································································y[0]·······.·.·.····y[n−1]························c·d···············y[0]·······.·.·.····y[n−1]\xd260 ············································································y[0]·······.·.·.····y[n−1]························c·d···············y[0]·······.·.·.····y[n−1]\xd
261 ································45.·void·DVscatter·(·int·n,·double·y[],·int·index[],·double·x[]·)·;\xd261 ································45.·void·DVscatter·(·int·n,·double·y[],·int·index[],·double·x[]·)·;\xd
262 ········································This·method·scatters·n·entries·of·x[]·into·y[]·as·follows,·y[index[i]]·=·x[i]·for·0·<=·i\xd262 ········································This·method·scatters·n·entries·of·x[]·into·y[]·as·follows,·y[index[i]]·=·x[i]·for·0·<=·i\xd
Offset 284, 15 lines modifiedOffset 284, 15 lines modified
284 ········································This·method·swaps·the·x[]·and·y[]·vectors·as·follows.·i.e.,·y[i]·:=·x[i]·and·x[i]·:=\xd284 ········································This·method·swaps·the·x[]·and·y[]·vectors·as·follows.·i.e.,·y[i]·:=·x[i]·and·x[i]·:=\xd
285 ········································y[i]·for·0·<=·i·<·n.\xd285 ········································y[i]·for·0·<=·i·<·n.\xd
286 ································53.·void·DVzero·(·int·n,·double·y[]·)·;\xd286 ································53.·void·DVzero·(·int·n,·double·y[]·)·;\xd
287 ········································This·method·zeroes·n·entries·in·y[],·i.e.,·y[i]·=·0·for·0·<=·i·<·n.\xd287 ········································This·method·zeroes·n·entries·in·y[],·i.e.,·y[i]·=·0·for·0·<=·i·<·n.\xd
288 ································54.·void·DVshuffle·(·int·n,·double·y[],·int·seed·)·;\xd288 ································54.·void·DVshuffle·(·int·n,·double·y[],·int·seed·)·;\xd
289 ········································This·method·shuffles·the·first·n·entries·in·y[].·The·value·seed·is·the·seed·to·a·random·number\xd289 ········································This·method·shuffles·the·first·n·entries·in·y[].·The·value·seed·is·the·seed·to·a·random·number\xd
290 ········································generator,·and·one·can·get·repeatable·behavior·by·repeating·seed.\xd290 ········································generator,·and·one·can·get·repeatable·behavior·by·repeating·seed.\xd
291 ····································Utilities·:·DRAFT···January·15,·2021·················9\xd291 ····································Utilities·:·DRAFT··February·18,·2022·················9\xd
292 ············1.2.3··ZV·:·double·complex·vector·methods\xd292 ············1.2.3··ZV·:·double·complex·vector·methods\xd
293 ············Adoubleprecisioncomplexvector·oflengthnissimplya·doubleprecisionvector·oflength2n.·There\xd293 ············Adoubleprecisioncomplexvector·oflengthnissimplya·doubleprecisionvector·oflength2n.·There\xd
294 ············is·a·separate·ZVinit()·allocator·and·initializer·method,·since·it·requires·a·real·and·imaginary·part\xd294 ············is·a·separate·ZVinit()·allocator·and·initializer·method,·since·it·requires·a·real·and·imaginary·part\xd
295 ············to·fill·the·vector.·However,·there·is·no·ZVinit2()·method·(which·allocates·without·initializing·the\xd295 ············to·fill·the·vector.·However,·there·is·no·ZVinit2()·method·(which·allocates·without·initializing·the\xd
296 ············entries)·nor·a·ZVfree()·method·to·free·the·entries;·the·DVinit2()·and·DVfree()·methods·can·be\xd296 ············entries)·nor·a·ZVfree()·method·to·free·the·entries;·the·DVinit2()·and·DVfree()·methods·can·be\xd
297 ············used.·Similarly,·there·is·no·ZVfscanf()·method,·instead·the·DVfscanf()·method·can·be·used.\xd297 ············used.·Similarly,·there·is·no·ZVfscanf()·method,·instead·the·DVfscanf()·method·can·be·used.\xd
298 ···············1.·double·*·ZVinit·(·int·n,·double·real,·double·imag·)·;\xd298 ···············1.·double·*·ZVinit·(·int·n,·double·real,·double·imag·)·;\xd
Max diff block lines reached; 28064/38176 bytes (73.51%) of diff not shown.
32.0 KB
./usr/share/doc/spooles-doc/ZV.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·2445841 gzip·compressed·data,·max·compression,·from·Unix,·original·size·244775
31.7 KB
ZV.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10·CMMI108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMTT10·CMSY10·CMSL10·CMTI10·CMMI10
9 %%+·CMR89 %%+·CMR8
10 %%DocumentPaperSizes:·a410 %%DocumentPaperSizes:·a4
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·ZV.ps13 %DVIPSCommandLine:·dvips·main·-o·ZV.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1654, 19 lines modifiedOffset 1654, 20 lines modified
1654 end·readonly·def1654 end·readonly·def
1655 /Encoding·256·array1655 /Encoding·256·array
1656 0·1·255·{1·index·exch·/.notdef·put}·for1656 0·1·255·{1·index·exch·/.notdef·put}·for
1657 dup·44·/comma·put1657 dup·44·/comma·put
1658 dup·48·/zero·put1658 dup·48·/zero·put
1659 dup·49·/one·put1659 dup·49·/one·put
1660 dup·50·/two·put1660 dup·50·/two·put
1661 dup·53·/five·put1661 dup·56·/eight·put
1662 dup·58·/colon·put1662 dup·58·/colon·put
1663 dup·74·/J·put1663 dup·70·/F·put
1664 dup·97·/a·put1664 dup·97·/a·put
 1665 dup·98·/b·put
1665 dup·110·/n·put1666 dup·101·/e·put
1666 dup·114·/r·put1667 dup·114·/r·put
1667 dup·117·/u·put1668 dup·117·/u·put
1668 dup·121·/y·put1669 dup·121·/y·put
1669 readonly·def1670 readonly·def
1670 currentdict·end1671 currentdict·end
1671 currentfile·eexec1672 currentfile·eexec
1672 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71673 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 1850, 84 lines modifiedOffset 1851, 86 lines modified
1850 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A1851 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
1851 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380821852 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
1852 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E1853 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
1853 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A51854 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
1854 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B051855 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
1855 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C051856 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
1856 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97671857 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
1857 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7041858 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
1858 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
1859 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
1860 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
1861 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
1862 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
1863 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
1864 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
1865 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
1866 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
1867 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
1868 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
1869 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
1870 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
1871 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
1872 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
1873 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
1874 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
1875 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
1876 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
1877 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
1878 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
1879 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
1880 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
1881 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
1882 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
1883 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
1884 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
1885 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
1886 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
1887 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
1888 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
1889 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
1890 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
1891 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
1892 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
1893 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
1894 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
1895 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
1896 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
1897 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
1898 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
1899 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
1900 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
1901 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
1902 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
1903 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
1904 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
1905 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
1906 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
1907 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
1908 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
1909 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
1910 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
1911 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
1912 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
1913 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
1914 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
1915 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
1916 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
1917 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
1918 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
1919 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
1920 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
1921 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
1922 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
1923 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
1924 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
1925 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
1926 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE51859 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 1860 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 1861 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 1862 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 1863 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 1864 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 1865 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 1866 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 1867 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 1868 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 1869 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 1870 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 1871 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 1872 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 11583/22714 bytes (50.99%) of diff not shown.
9.54 KB
ps2ascii {}
    
Offset 22, 15 lines modifiedOffset 22, 15 lines modified
22 ···············Onemustchoose·where·to·use·this·object.·There·is·a·substantial·performance·penalty·for·doing·the\xd22 ···············Onemustchoose·where·to·use·this·object.·There·is·a·substantial·performance·penalty·for·doing·the\xd
23 ···············simplest·operations,·and·so·when·we·need·to·manipulate·an·double·vector·inside·a·loop,·we·extract\xd23 ···············simplest·operations,·and·so·when·we·need·to·manipulate·an·double·vector·inside·a·loop,·we·extract\xd
24 ···············out·the·size·and·pointer·to·the·base·array·from·the·ZV·object.·On·the·other·hand,·the·convenience\xd24 ···············out·the·size·and·pointer·to·the·base·array·from·the·ZV·object.·On·the·other·hand,·the·convenience\xd
25 ···············makes·it·a·widely·used·object.\xd25 ···············makes·it·a·widely·used·object.\xd
26 ···············1.1····Data·Structure\xd26 ···············1.1····Data·Structure\xd
27 ···············The·ZV·structure·has·three·fields.\xd27 ···············The·ZV·structure·has·three·fields.\xd
28 ·····························································1\xd28 ·····························································1\xd
29 ··············2·····························ZV·:·DRAFT·January·15,·2021\xd29 ··············2·····························ZV·:·DRAFT·February·18,·2022\xd
30 ··················int·size·:·present·size·of·the·vector.\xd30 ··················int·size·:·present·size·of·the·vector.\xd
31 ··················int·maxsize·:·maximum·size·of·the·vector.\xd31 ··················int·maxsize·:·maximum·size·of·the·vector.\xd
32 ··················int·owned·:·owner·flag·for·the·data.·When·owned·=·1,·storage·for·owned·double’s·has·been\xd32 ··················int·owned·:·owner·flag·for·the·data.·When·owned·=·1,·storage·for·owned·double’s·has·been\xd
33 ···················allocated·by·this·object·and·can·be·free’d·by·the·object.·When·owned·==·0·but·size·>·0·,\xd33 ···················allocated·by·this·object·and·can·be·free’d·by·the·object.·When·owned·==·0·but·size·>·0·,\xd
34 ···················this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not·be\xd34 ···················this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not·be\xd
35 ···················free’d·by·this·object.\xd35 ···················free’d·by·this·object.\xd
36 ··················double·*vec·:·pointer·to·the·base·address·of·the·double·vector\xd36 ··················double·*vec·:·pointer·to·the·base·address·of·the·double·vector\xd
Offset 54, 15 lines modifiedOffset 54, 15 lines modified
54 ···················the·storage·for·vec·is·free’d·by·a·call·to·ZVfree().·The·structure’s·default·fields·are·then·set\xd54 ···················the·storage·for·vec·is·free’d·by·a·call·to·ZVfree().·The·structure’s·default·fields·are·then·set\xd
55 ···················with·a·call·to·ZV·setDefaultFields().\xd55 ···················with·a·call·to·ZV·setDefaultFields().\xd
56 ···················Error·checking:·If·zv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd56 ···················Error·checking:·If·zv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
57 ················4.·void·ZV_free·(·ZV·*zv·)·;\xd57 ················4.·void·ZV_free·(·ZV·*zv·)·;\xd
58 ···················This·method·releases·any·storage·by·a·call·to·ZV·clearData()·then·free’s·the·storage·for·the\xd58 ···················This·method·releases·any·storage·by·a·call·to·ZV·clearData()·then·free’s·the·storage·for·the\xd
59 ···················structure·with·a·call·to·free().\xd59 ···················structure·with·a·call·to·free().\xd
60 ···················Error·checking:·If·zv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd60 ···················Error·checking:·If·zv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd
61 ·······································ZV·:·DRAFT···January·15,·2021·····················3\xd61 ·······································ZV·:·DRAFT··February·18,·2022·····················3\xd
62 ············1.2.2··Instance·methods\xd62 ············1.2.2··Instance·methods\xd
63 ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd63 ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd
64 ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd64 ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd
65 ············the·methods.\xd65 ············the·methods.\xd
66 ···············1.·int·ZV_owned·(·ZV·*zv·)·;\xd66 ···············1.·int·ZV_owned·(·ZV·*zv·)·;\xd
67 ·················This·method·returns·the·value·of·owned.·If·owned·>·0,·then·the·object·owns·the·data·pointed\xd67 ·················This·method·returns·the·value·of·owned.·If·owned·>·0,·then·the·object·owns·the·data·pointed\xd
68 ·················to·by·vec·and·will·free·this·data·with·a·call·to·ZVfree()·when·its·data·is·cleared·by·a·call·to\xd68 ·················to·by·vec·and·will·free·this·data·with·a·call·to·ZVfree()·when·its·data·is·cleared·by·a·call·to\xd
Offset 91, 15 lines modifiedOffset 91, 15 lines modified
91 ·················This·method·returns·vec,·a·pointer·to·the·base·address·of·the·vector.\xd91 ·················This·method·returns·vec,·a·pointer·to·the·base·address·of·the·vector.\xd
92 ·················Error·checking:·If·zv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd92 ·················Error·checking:·If·zv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
93 ···············7.·void·ZV_sizeAndEntries·(·ZV·*zv,·int·*psize,·double·**pentries·)·;\xd93 ···············7.·void·ZV_sizeAndEntries·(·ZV·*zv,·int·*psize,·double·**pentries·)·;\xd
94 ·················This·method·fills·*psize·with·the·size·of·the·vector·and·**pentries·with·the·base·address\xd94 ·················This·method·fills·*psize·with·the·size·of·the·vector·and·**pentries·with·the·base·address\xd
95 ·················of·the·vector.\xd95 ·················of·the·vector.\xd
96 ·················Error·checking:·If·zv,·psize·or·pentriesis·NULL,·an·error·message·is·printed·and·the·program\xd96 ·················Error·checking:·If·zv,·psize·or·pentriesis·NULL,·an·error·message·is·printed·and·the·program\xd
97 ·················exits.\xd97 ·················exits.\xd
98 ··············4·····························ZV·:·DRAFT·January·15,·2021\xd98 ··············4·····························ZV·:·DRAFT·February·18,·2022\xd
99 ················8.·void·ZV_setEntry·(·ZV·*zv,·int·loc,·double·real,·double·imag·)·;\xd99 ················8.·void·ZV_setEntry·(·ZV·*zv,·int·loc,·double·real,·double·imag·)·;\xd
100 ···················This·method·sets·the·loc’th·entry·of·the·vector·to·(real,imag).\xd100 ···················This·method·sets·the·loc’th·entry·of·the·vector·to·(real,imag).\xd
101 ···················Error·checking:·If·zv·is·NULL·or·loc·<·0,·an·error·message·is·printed·and·the·program·exits.\xd101 ···················Error·checking:·If·zv·is·NULL·or·loc·<·0,·an·error·message·is·printed·and·the·program·exits.\xd
102 ··············1.2.3··Initializer·methods\xd102 ··············1.2.3··Initializer·methods\xd
103 ··············There·are·three·initializer·methods.\xd103 ··············There·are·three·initializer·methods.\xd
104 ················1.·void·ZV_init·(·ZV·*zv,·int·size,·double·*entries·)·;\xd104 ················1.·void·ZV_init·(·ZV·*zv,·int·size,·double·*entries·)·;\xd
105 ···················This·method·initializes·the·object·given·a·size·for·the·vector·and·a·possible·pointer·to·the\xd105 ···················This·method·initializes·the·object·given·a·size·for·the·vector·and·a·possible·pointer·to·the\xd
Offset 128, 15 lines modifiedOffset 128, 15 lines modified
128 ···················Error·checking:·If·zv·is·NULL·or·newmaxsize·<·0,·or·if·0·<·maxsize·and·owned·==·0,·an\xd128 ···················Error·checking:·If·zv·is·NULL·or·newmaxsize·<·0,·or·if·0·<·maxsize·and·owned·==·0,·an\xd
129 ···················error·message·is·printed·and·the·program·exits.\xd129 ···················error·message·is·printed·and·the·program·exits.\xd
130 ················5.·void·ZV_setSize·(·ZV·*zv,·int·newsize·)·;\xd130 ················5.·void·ZV_setSize·(·ZV·*zv,·int·newsize·)·;\xd
131 ···················This·method·sets·the·size·of·the·vector.·If·newsize·>·maxsize,·the·length·of·the·vector·is\xd131 ···················This·method·sets·the·size·of·the·vector.·If·newsize·>·maxsize,·the·length·of·the·vector·is\xd
132 ···················increased·with·a·call·to·ZV·setMaxsize().·The·size·field·is·set·to·newsize.\xd132 ···················increased·with·a·call·to·ZV·setMaxsize().·The·size·field·is·set·to·newsize.\xd
133 ···················Error·checking:·If·zv·is·NULL,·or·newsize·<·0,·or·if·0·<·maxsize·<·newsize·and·owned·=\xd133 ···················Error·checking:·If·zv·is·NULL,·or·newsize·<·0,·or·if·0·<·maxsize·<·newsize·and·owned·=\xd
134 ···················0,·an·error·message·is·printed·and·the·program·exits.\xd134 ···················0,·an·error·message·is·printed·and·the·program·exits.\xd
135 ·······································ZV·:·DRAFT···January·15,·2021·····················5\xd135 ·······································ZV·:·DRAFT··February·18,·2022·····················5\xd
136 ············1.2.4··Utility·methods\xd136 ············1.2.4··Utility·methods\xd
137 ···············1.·void·ZV_shiftBase·(·ZV·*zv,·int·offset·)·;\xd137 ···············1.·void·ZV_shiftBase·(·ZV·*zv,·int·offset·)·;\xd
138 ·················This·method·shifts·the·base·entries·of·the·vector·and·decrements·the·present·size·and·max-\xd138 ·················This·method·shifts·the·base·entries·of·the·vector·and·decrements·the·present·size·and·max-\xd
139 ·················imum·size·of·the·vector·by·offset.·This·is·a·dangerous·method·to·use·because·the·state·of\xd139 ·················imum·size·of·the·vector·by·offset.·This·is·a·dangerous·method·to·use·because·the·state·of\xd
140 ·················the·vector·is·lost,·namely·vec,·the·base·of·the·entries,·is·corrupted.·If·the·object·owns·its\xd140 ·················the·vector·is·lost,·namely·vec,·the·base·of·the·entries,·is·corrupted.·If·the·object·owns·its\xd
141 ·················entries·and·ZV·free(),·ZV·setSize()·or·ZV·setMaxsize()·is·called·before·the·base·has·been\xd141 ·················entries·and·ZV·free(),·ZV·setSize()·or·ZV·setMaxsize()·is·called·before·the·base·has·been\xd
142 ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd142 ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd
Offset 162, 15 lines modifiedOffset 162, 15 lines modified
162 ·················This·method·fills·the·vector·with·zeros.\xd162 ·················This·method·fills·the·vector·with·zeros.\xd
163 ·················Error·checking:·If·zv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd163 ·················Error·checking:·If·zv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
164 ···············7.·void·ZV_copy·(·ZV·*zv1,·ZV·*zv2·)·;\xd164 ···············7.·void·ZV_copy·(·ZV·*zv1,·ZV·*zv2·)·;\xd
165 ·················This·method·fills·the·zv1·object·with·entries·in·the·iv2·object.·Note,·this·is·a·mapped·copy,\xd165 ·················This·method·fills·the·zv1·object·with·entries·in·the·iv2·object.·Note,·this·is·a·mapped·copy,\xd
166 ·················zv1·and·zv2·need·not·have·the·same·size.·The·number·of·entries·that·are·copied·is·the·smaller\xd166 ·················zv1·and·zv2·need·not·have·the·same·size.·The·number·of·entries·that·are·copied·is·the·smaller\xd
167 ·················of·the·two·sizes.\xd167 ·················of·the·two·sizes.\xd
168 ·················Error·checking:·If·zv1·or·zv2·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd168 ·················Error·checking:·If·zv1·or·zv2·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd
169 ··············6·····························ZV·:·DRAFT·January·15,·2021\xd169 ··············6·····························ZV·:·DRAFT·February·18,·2022\xd
170 ················8.·void·ZV_log10profile·(·ZV·*zv,·int·npts,·DV·*xDV,·DV·*yDV,·double·tausmall,\xd170 ················8.·void·ZV_log10profile·(·ZV·*zv,·int·npts,·DV·*xDV,·DV·*yDV,·double·tausmall,\xd
171 ··········································double·taubig,·int·*pnzero,·int·*pnsmall,·int·*pnbig·)·;\xd171 ··········································double·taubig,·int·*pnzero,·int·*pnsmall,·int·*pnbig·)·;\xd
172 ···················This·method·scans·the·entries·in·the·ZV·object·and·fills·xDV·and·yDV·with·data·that·allows\xd172 ···················This·method·scans·the·entries·in·the·ZV·object·and·fills·xDV·and·yDV·with·data·that·allows\xd
173 ···················a·simple·log10·distribution·plot.·Only·entries·whose·magnitudes·lie·in·the·range·[tausmall,\xd173 ···················a·simple·log10·distribution·plot.·Only·entries·whose·magnitudes·lie·in·the·range·[tausmall,\xd
174 ···················taubig]·contribute·to·the·distribution.·The·number·of·entries·whose·magnitudes·are·zero,\xd174 ···················taubig]·contribute·to·the·distribution.·The·number·of·entries·whose·magnitudes·are·zero,\xd
175 ···················smaller·than·tausmall,·or·larger·than·taubig·are·placed·into·pnzero,·*pnsmall·and·*pnbig,\xd175 ···················smaller·than·tausmall,·or·larger·than·taubig·are·placed·into·pnzero,·*pnsmall·and·*pnbig,\xd
176 ···················respectively.·On·return,·the·size·of·the·xDV·and·yDV·objects·is·npts.\xd176 ···················respectively.·On·return,·the·size·of·the·xDV·and·yDV·objects·is·npts.\xd
Offset 199, 15 lines modifiedOffset 199, 15 lines modified
199 ···················and·returns·the·value·returned·from·the·called·routine.\xd199 ···················and·returns·the·value·returned·from·the·called·routine.\xd
200 ···················Error·checking:·If·zv·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.zvf·(for·a·formatted·file)\xd200 ···················Error·checking:·If·zv·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.zvf·(for·a·formatted·file)\xd
201 ···················or·*.zvb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd201 ···················or·*.zvb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd
202 ················5.·int·ZV_writeToFormattedFile·(·ZV·*zv,·FILE·*fp·)·;\xd202 ················5.·int·ZV_writeToFormattedFile·(·ZV·*zv,·FILE·*fp·)·;\xd
203 ···················This·method·writes·a·ZV·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the·data,\xd203 ···················This·method·writes·a·ZV·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the·data,\xd
204 ···················the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd204 ···················the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fprintf,·zero·is·returned.\xd
205 ···················Error·checking:·If·zv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd205 ···················Error·checking:·If·zv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
206 ·······································ZV·:·DRAFT···January·15,·2021·····················7\xd206 ·······································ZV·:·DRAFT··February·18,·2022·····················7\xd
207 ···············6.·int·ZV_writeToBinaryFile·(·ZV·*zv,·FILE·*fp·)·;\xd207 ···············6.·int·ZV_writeToBinaryFile·(·ZV·*zv,·FILE·*fp·)·;\xd
208 ·················This·method·writes·a·ZV·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the·data,·the\xd208 ·················This·method·writes·a·ZV·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the·data,·the\xd
209 ·················value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd209 ·················value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd
210 ·················Error·checking:·If·zv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd210 ·················Error·checking:·If·zv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd
211 ···············7.·int·ZV_writeForHumanEye·(·ZV·*zv,·FILE·*fp·)·;\xd211 ···············7.·int·ZV_writeForHumanEye·(·ZV·*zv,·FILE·*fp·)·;\xd
212 ·················This·method·writes·a·ZV·object·to·a·file·in·a·human·readable·format.·is·called·to·write·out\xd212 ·················This·method·writes·a·ZV·object·to·a·file·in·a·human·readable·format.·is·called·to·write·out\xd
213 ·················the·header·and·statistics.·The·entries·of·the·vector·then·follow·in·eighty·column·format·using\xd213 ·················the·header·and·statistics.·The·entries·of·the·vector·then·follow·in·eighty·column·format·using\xd
Offset 232, 15 lines modifiedOffset 232, 15 lines modified
232 ····················The·msglvl·parameter·determines·the·amount·of·output.·Use·msglvl·=·1·for·just\xd232 ····················The·msglvl·parameter·determines·the·amount·of·output.·Use·msglvl·=·1·for·just\xd
233 ·····················timing·output.\xd233 ·····················timing·output.\xd
234 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd234 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
235 ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd235 ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd
236 ·····················data.\xd236 ·····················data.\xd
237 ····················The·inFile·parameter·is·the·name·of·the·file·from·which·to·read·in·the·object.·inFile\xd237 ····················The·inFile·parameter·is·the·name·of·the·file·from·which·to·read·in·the·object.·inFile\xd
238 ·····················must·be·of·the·form·*.zvf·for·a·formatted·file·or·*.zvb·for·a·binary·file.\xd238 ·····················must·be·of·the·form·*.zvf·for·a·formatted·file·or·*.zvb·for·a·binary·file.\xd
239 ·······8···············ZV·:·DRAFT·January·15,·2021\xd239 ·······8···············ZV·:·DRAFT·February·18,·2022\xd
240 ············The·outFile·parameter·is·the·name·of·the·file·to·which·to·write·out·the·object.·If\xd240 ············The·outFile·parameter·is·the·name·of·the·file·to·which·to·write·out·the·object.·If\xd
241 ············outfile·is·of·the·form·*.zvf,·the·object·is·written·to·a·formatted·file.·If·outfile·is·of\xd241 ············outfile·is·of·the·form·*.zvf,·the·object·is·written·to·a·formatted·file.·If·outfile·is·of\xd
242 ············the·form·*.zvb,·the·object·is·written·to·a·binary·file.·When·outFile·is·not·"none",·the\xd242 ············the·form·*.zvb,·the·object·is·written·to·a·binary·file.·When·outFile·is·not·"none",·the\xd
243 ············object·is·written·to·the·file·in·a·human·readable·format.·When·outFile·is·"none",·the\xd243 ············object·is·written·to·the·file·in·a·human·readable·format.·When·outFile·is·"none",·the\xd
244 ············object·is·not·written·out.\xd244 ············object·is·not·written·out.\xd
245 ·······Index\xd245 ·······Index\xd
246 ·······ZV·clearData(),·2\xd246 ·······ZV·clearData(),·2\xd
57.5 KB
./usr/share/doc/spooles-doc/misc.ps.gz
198 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 gzip·compressed·data,·max·compression,·from·Unix,·original·size·3958701 gzip·compressed·data,·max·compression,·from·Unix,·original·size·396090
57.3 KB
misc.ps
    
Offset 8, 15 lines modifiedOffset 8, 15 lines modified
8 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMBX10·CMTT10·CMTI10·CMSY10·CMSL108 %%DocumentFonts:·CMBX12·CMTT12·CMR10·CMBX10·CMTT10·CMTI10·CMSY10·CMSL10
9 %%+·CMMI10·CMEX10·CMR8·CMMI8·CMCSC10·CMSY89 %%+·CMMI10·CMEX10·CMR8·CMMI8·CMCSC10·CMSY8
10 %%DocumentPaperSizes:·Letter10 %%DocumentPaperSizes:·Letter
11 %%EndComments11 %%EndComments
12 %DVIPSWebPage:·(www.radicaleye.com)12 %DVIPSWebPage:·(www.radicaleye.com)
13 %DVIPSCommandLine:·dvips·main·-o·misc.ps13 %DVIPSCommandLine:·dvips·main·-o·misc.ps
14 %DVIPSParameters:·dpi=60014 %DVIPSParameters:·dpi=600
15 %DVIPSSource:··TeX·output·2021.01.15:061415 %DVIPSSource:··TeX·output·2022.02.18:1444
16 %%BeginProcSet:·tex.pro·0·016 %%BeginProcSet:·tex.pro·0·0
17 %!17 %!
18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S18 /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S
19 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·7219 N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72
20 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·020 mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0
21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{21 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{
22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize22 landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize
Offset 1841, 19 lines modifiedOffset 1841, 20 lines modified
1841 end·readonly·def1841 end·readonly·def
1842 /Encoding·256·array1842 /Encoding·256·array
1843 0·1·255·{1·index·exch·/.notdef·put}·for1843 0·1·255·{1·index·exch·/.notdef·put}·for
1844 dup·44·/comma·put1844 dup·44·/comma·put
1845 dup·48·/zero·put1845 dup·48·/zero·put
1846 dup·49·/one·put1846 dup·49·/one·put
1847 dup·50·/two·put1847 dup·50·/two·put
1848 dup·53·/five·put1848 dup·56·/eight·put
1849 dup·58·/colon·put1849 dup·58·/colon·put
1850 dup·74·/J·put1850 dup·70·/F·put
1851 dup·97·/a·put1851 dup·97·/a·put
 1852 dup·98·/b·put
1852 dup·110·/n·put1853 dup·101·/e·put
1853 dup·114·/r·put1854 dup·114·/r·put
1854 dup·117·/u·put1855 dup·117·/u·put
1855 dup·121·/y·put1856 dup·121·/y·put
1856 readonly·def1857 readonly·def
1857 currentdict·end1858 currentdict·end
1858 currentfile·eexec1859 currentfile·eexec
1859 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E71860 D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
Offset 2037, 84 lines modifiedOffset 2038, 86 lines modified
2037 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A2038 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A
2038 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A0380822039 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082
2039 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E2040 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E
2040 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A52041 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5
2041 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B052042 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05
2042 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C052043 B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05
2043 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C97672044 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767
2044 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB884400493EF7042045 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004E075961
2045 AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 
2046 E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B 
2047 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE 
2048 FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA 
2049 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 
2050 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB 
2051 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 
2052 C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 
2053 B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 
2054 AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 
2055 E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 
2056 F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F 
2057 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 
2058 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 
2059 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA 
2060 CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 
2061 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A 
2062 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 
2063 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C879B0B57D6D6749C1CE04 
2064 C07F49CFE775FA5C0694D8D73F3EC733004E7172E839512E8D6FAB66ACA2FA0A 
2065 417C2C7617D367E9543C01C2BE32869789FD6DD2D27AFB8377E74FFCCD5466A9 
2066 FAA01DE30ACCC9ACD8EF9FA0ADA459520B2A33055535630AF847CE858E924EA7 
2067 83A84ACF0E76DF7FF62C08AFE0B2FEC272FDDC0AD6B496D3EF55CB94064D5096 
2068 58174E645C9933152576E7AFE3062CA1F6D2AF3403EC321720E607520C223B99 
2069 85FA02120AF9D664BFAC2DC71421A34A08ED50B04ACB752E1DDD456941698C66 
2070 EF3B8022EBEB9F8A28A365634A4147DC402B747730D9D11E55BDAD6163D64FC3 
2071 82E272D287C99732CA38B56FDC6D1CC90E396985AF448140746EC73D93875443 
2072 4CFC03F03C0CD7781B4461CCFE2AD7ED32FE4A2D3514B8772D20B71B4CCCA2C1 
2073 90BA941EBDE04196A55427D1693A8052BD9C3E3E9D98917885E0EE27FA854781 
2074 F8F1193C3EA16BC179B9BDE9CEE8E67F6911CE3CDEE57361B166C464A6278E47 
2075 D9AAB4C455F795556081A29894323D63493E809325C453678DE1F67FBE808EA7 
2076 30BA011153353BF333C36B6B728BB711AF215DCCC38EC0F89B4DBC3027B3CA3D 
2077 22C04BE53B4DAD76EEB758016D6DF1E021F3DE19317D8BD1D45AF42D74A2A2D4 
2078 90C1CEF5C87228C6BAA53B9E0E02B6A507E3B7484BECF13E5BCB71E7CA6EEA03 
2079 B85187A593A1D15FDFDA9D621CC3F0CCB54678AC1A22BEA84F284C6561762985 
2080 4F7568CACB6A2A2E4F4A78DC00BC8FBA3178E195ADAA40680A679A005616551F 
2081 AC4E464EC20695A85488B3C434979E7E0112398807F2E48AB971FE4C15D0D018 
2082 26CCA823CC29C95E39FA451F1E7FD349516E1D83F911687C4AA095A5A51A956B 
2083 223A53488E7A7C4C9C8FA62A078FEFA068D42537F9E03B71293B752647B79A83 
2084 EB8BD94C7003E60BCAE5C3CC869F669AAF9DE6E69C055763835CC903B6FCFD79 
2085 16184F24C7F398BCE3D6464653B6CE1617E192D34D4B7FDEE0F6037127E508DA 
2086 09BA3A4B464676674713E543848A113C702F263BAB2760826E1545D7ECB4FF3E 
2087 02D45622F1F7B8BF73344EF80851523DA7978AFA87149BD5FB4D8D804B2390E4 
2088 C23FB0A41335686618B5277AF8F061C024C8F6A05B3292FAD656153C55F5CC1E 
2089 9FA371E1E9DF383479DB3877E03C386ED85888C6AEF2EF059C243CC53CE0D133 
2090 B73430218372B15E59C8830CFE3C76F6C9B5FB30B5F1435D61B2674D7CEA1BDE 
2091 B5F2E81A8B6D3324E17247C707DD8AD18EB5AF1E8018900D50A01204419C89F5 
2092 5DFEAC94364FBA318940AFF52652374142B5656E01EC81E89DC58DCE88D400D1 
2093 094A71E778812870E75402C98776D58B4FEFC751B81ADCE61F58FD8830077C37 
2094 17B3CD0B6A0375929CEF01FFD4E6206AACD3DD1DCB7FAE65CF621735CA7B0706 
2095 43E3E68E5B3E073E259A7CF6AE6787C008F75C4357F65FEAFF7161453E0C719A 
2096 66AB415C44B6ACED44A1F8EAD815F6C9F3F16F97A7FBA6AA58B636FAF57DA99F 
2097 3106D88D14358C23204C60AA0AB5E6A25A17D8832E0E2EE836DBC0719B0FA063 
2098 7355D25C0783CA6E5AA377664FC9EE622524AD20EE15E519CD4E26113DC58C2B 
2099 9317A623825DCC0904A0DA92B419B391796BDA55DF1EECF968D4BC9C86A84FCC 
2100 2DC698A822ABC7AF618FF8D68202399706C4E19941545DE4EF2D6CA71D902DDC 
2101 1B440D41AE732232EDBAE4452F4E625BD77867DA1AE026F1A6E75F6A65135533 
2102 8CA939BF1ACB57F8F034D56A46DB1877573BEFAA0D43B02AFB9EAE35AC9A5C8A 
2103 03C8D5BE4DDC4A34770A75179F1571C9FD874959462454368A41E449789233C3 
2104 52AEE6449D555813D26D876C06C38B044E2DB646048066587C7FAD75A13B276A 
2105 4DECAB445999B31AA205308E51490FA9FDB3F86C1C288AC9E6EE42DB7E22BE20 
2106 BCC3FE92877753C478C3B8E38CCBF5A08D78B0F9D08444E7B15BECC64E3AF4F1 
2107 8E132F2A237095B41B4A03B1E4C1F9E89449B2B053622F29B4433A23194A9690 
2108 B39279766FEF88CF9E0EBB3DC2404F098B7AB37C395E9F0BADACCC9CEA83776C 
2109 0BF45C744F8ACECAF33A07A51C382E7081A6B1AECAC6016F48F8F75EF92711CA 
2110 7D5E5AB6773C1F9C21E62BC0038C284B86CA4BD7A5D46452664EAD34B4FEE5F3 
2111 15D4E3999EB2F70AC90763D99A17031E34F87502E2B70CDDCB049161C4C0AC60 
2112 048928181E48511752A347A4D4426A8930454388094C0DC8626B6151453A2E32 
2113 3390CAF4988E2F111A9E8E956A7144FE5295458C1D3C6365518EAD758DE52046 88009C56E0A43A9F2C854AB15BE89F440EA595FC1B79E3B328B583C840EF718E
 2047 EA8EE6B6C64D7325289DCFFBDEE1D1D14B28E009E5ECBF7626D8440C676974C4
 2048 1AFCC4688D674C01A6D8AC619A4A13B1259FC65826315E692F52273D5761C841
 2049 B4D14DBE9F11DCC4AFF9A3309A4AEE4ABFCD80A3ED6EC056A499666D4E637044
 2050 38E6795EACA5B1CCB1C87577CABB7247FFED46CE6ECE2330348701D7987E6B5A
 2051 C673340DE61033E7EBE83890DEFF32BCAE034D5CF098F16F768D9A1BD46465F3
 2052 DAE58EA38E5B582263A7D86B9AD5A0AD75CA7A5A0017FF9530FF80EA907ED3CD
 2053 E05C9AB9209F8DC8447847C16AC02318B17AA985A38B2C77229F5E0E3DA8D1F3
 2054 48D6A7F86D814CCBE85133B3A304AF0A4AA65CC750BACC5832EA38CBF518502A
 2055 C870C2C62A59B8E1C43ED26F67554DDA93D517BE7D02E2E2A7A1ED987B15CC66
 2056 6EE748DC6D3D47C3140FEAA6B1F51F65F93F012979042C202AC1C5BFE6099F23
 2057 11A368430D1E88B76FF2977CD6859CFF2A62EB3710FEFC5D94F33A6F92BB6407
 2058 1C951C4DD719F45837007148345E618FEC7831D2FB2E065AD51E6486A3EACE14
 2059 A9DB4EDE59F047B0A427B2D2727CA1DDD368515047DDB3F8DF1B641EAC906A5E
Max diff block lines reached; 29090/40261 bytes (72.25%) of diff not shown.
17.9 KB
ps2ascii {}
    
Offset 17, 15 lines modifiedOffset 17, 15 lines modified
17 ··················The·method·calls·itself·recursively.·To·find·the·permutation·for·an·n1·x·n2·x·n3·grid,·call\xd17 ··················The·method·calls·itself·recursively.·To·find·the·permutation·for·an·n1·x·n2·x·n3·grid,·call\xd
18 ··················mkNDperm(n1,·n2,·n3,·newToOld,·0,·n1-1,·0,·n2-1,·0,·n3-1)·;\xd18 ··················mkNDperm(n1,·n2,·n3,·newToOld,·0,·n1-1,·0,·n2-1,·0,·n3-1)·;\xd
19 ··················from·a·driver·program.\xd19 ··················from·a·driver·program.\xd
20 ··················Error·checking:·If·n1,·n2·or·n3·are·less·than·or·equal·to·zero,·or·if·newToOld·is·NULL,·or·if\xd20 ··················Error·checking:·If·n1,·n2·or·n3·are·less·than·or·equal·to·zero,·or·if·newToOld·is·NULL,·or·if\xd
21 ··················west,·south·or·bottom·are·less·than·or·equal·to·zero,·of·if·east··n1,·of·if·north··n2,·of·if\xd21 ··················west,·south·or·bottom·are·less·than·or·equal·to·zero,·of·if·east··n1,·of·if·north··n2,·of·if\xd
22 ··················top··n3,·an·error·message·is·printed·and·the·program·exits.\xd22 ··················top··n3,·an·error·message·is·printed·and·the·program·exits.\xd
23 ·······················································1\xd23 ·······················································1\xd
24 ·······2··············Misc·:·DRAFT·January·15,·2021\xd24 ·······2··············Misc·:·DRAFT·February·18,·2022\xd
25 ········2.·void·mkNDperm2·(·int·n1,·int·n2,·int·n3,·int·newToOld[],·int·west,\xd25 ········2.·void·mkNDperm2·(·int·n1,·int·n2,·int·n3,·int·newToOld[],·int·west,\xd
26 ···················int·east,·int·south,·int·north,·int·bottom,·int·top·)·;\xd26 ···················int·east,·int·south,·int·north,·int·bottom,·int·top·)·;\xd
27 ··········This·method·this·vector·fills·a·permutation·vector·with·the·nested·dissection·new-to-old\xd27 ··········This·method·this·vector·fills·a·permutation·vector·with·the·nested·dissection·new-to-old\xd
28 ··········ordering·of·the·vertices·for·the·subgrid·defined·by·nodes·whose·coordinates·lie·in\xd28 ··········ordering·of·the·vertices·for·the·subgrid·defined·by·nodes·whose·coordinates·lie·in\xd
29 ··········[west,·east]·x·[south,·north]·x·[bottom,·top].\xd29 ··········[west,·east]·x·[south,·north]·x·[bottom,·top].\xd
30 ··········There·is·one·important·difference·between·this·method·and·mkNDperm()·above;·this·method\xd30 ··········There·is·one·important·difference·between·this·method·and·mkNDperm()·above;·this·method\xd
31 ··········finds·double-wide·separators,·necessary·for·an·operator·with·more·than·nearest·neighbor·grid\xd31 ··········finds·double-wide·separators,·necessary·for·an·operator·with·more·than·nearest·neighbor·grid\xd
Offset 58, 15 lines modifiedOffset 58, 15 lines modified
58 ··········tains·a·dsizes1[q1]·x·dsizes2[q2]·x·disizes3[q3]·subgrid·of·points.\xd58 ··········tains·a·dsizes1[q1]·x·dsizes2[q2]·x·disizes3[q3]·subgrid·of·points.\xd
59 ··········Error·checking:·If·n1,·n2·or·n3·are·less·than·or·equal·to·zero,·or·if·p1,·p2·or·p3·are·less·than·or\xd59 ··········Error·checking:·If·n1,·n2·or·n3·are·less·than·or·equal·to·zero,·or·if·p1,·p2·or·p3·are·less·than·or\xd
60 ··········equal·to·zero,·or·if·2p1−1·>·n1,·or·if·2p2−1·>·n2,·or·if·2p3−1·>·n3,·or·if·oldToNew·is·NULL,\xd60 ··········equal·to·zero,·or·if·2p1−1·>·n1,·or·if·2p2−1·>·n2,·or·if·2p3−1·>·n3,·or·if·oldToNew·is·NULL,\xd
61 ··········or·if·dsizes1[],·disizes2[]·and·dsizes3[]·are·not·NULL·but·have·invalid·entries·(all·entries\xd61 ··········or·if·dsizes1[],·disizes2[]·and·dsizes3[]·are·not·NULL·but·have·invalid·entries·(all·entries\xd
62 ··········must·be·positive,·entries·in·dsizes1[]·must·sum·to·n1·-·p1·+·1,·entries·in·dsizes2[]·must\xd62 ··········must·be·positive,·entries·in·dsizes1[]·must·sum·to·n1·-·p1·+·1,·entries·in·dsizes2[]·must\xd
63 ··········sum·to·n2·-·p2·+·1,·and·entries·in·dsizes3[]·must·sum·to·n3·-·p3·+·1,·an·error·message\xd63 ··········sum·to·n2·-·p2·+·1,·and·entries·in·dsizes3[]·must·sum·to·n3·-·p3·+·1,·an·error·message\xd
64 ··········is·printed·and·the·program·exits.\xd64 ··········is·printed·and·the·program·exits.\xd
65 ······································Misc·:·DRAFT··January·15,·2021····················3\xd65 ······································Misc·:·DRAFT··February·18,·2022···················3\xd
66 ··············5.·void·fp2DGrid·(·int·n1,·int·n2,·int·ivec[],·FILE·*fp·)·;\xd66 ··············5.·void·fp2DGrid·(·int·n1,·int·n2,·int·ivec[],·FILE·*fp·)·;\xd
67 ·················This·method·writes·the·ivec[]·vector·onto·an·n1·x·n2·grid·to·file·fp.·This·is·useful·to\xd67 ·················This·method·writes·the·ivec[]·vector·onto·an·n1·x·n2·grid·to·file·fp.·This·is·useful·to\xd
68 ·················visualize·an·ordering·or·a·metric·on·a·grid.\xd68 ·················visualize·an·ordering·or·a·metric·on·a·grid.\xd
69 ·················Error·checking:·If·n1·or·n2·are·less·than·or·equal·to·zero,·or·if·ivec·or·fp·are·NULL,·an·error\xd69 ·················Error·checking:·If·n1·or·n2·are·less·than·or·equal·to·zero,·or·if·ivec·or·fp·are·NULL,·an·error\xd
70 ·················message·is·printed·and·the·program·exits.\xd70 ·················message·is·printed·and·the·program·exits.\xd
71 ··············6.·void·fp3DGrid·(·int·n1,·int·n2,·int·n3,·int·ivec[],·FILE·*fp·)·;\xd71 ··············6.·void·fp3DGrid·(·int·n1,·int·n2,·int·n3,·int·ivec[],·FILE·*fp·)·;\xd
72 ·················This·method·writes·the·ivec[]·vector·onto·an·n1·x·n2·x·n3·grid·to·file·fp.·This·is·useful\xd72 ·················This·method·writes·the·ivec[]·vector·onto·an·n1·x·n2·x·n3·grid·to·file·fp.·This·is·useful\xd
Offset 96, 15 lines modifiedOffset 96, 15 lines modified
96 ·················This·method·returns·a·front·tree·ETree·object·for·a·multiple·minimum·degree·ordering·of\xd96 ·················This·method·returns·a·front·tree·ETree·object·for·a·multiple·minimum·degree·ordering·of\xd
97 ·················the·graph·graph.·The·seed·parameter·is·a·random·number·seed.·The·msglvl·and·msgFile\xd97 ·················the·graph·graph.·The·seed·parameter·is·a·random·number·seed.·The·msglvl·and·msgFile\xd
98 ·················parameters·govern·the·diagnostics·output.·Use·msglvl·=·0·for·no·output,·msglvl·=·1·for\xd98 ·················parameters·govern·the·diagnostics·output.·Use·msglvl·=·0·for·no·output,·msglvl·=·1·for\xd
99 ·················timings·and·scalar·statistics,·and·use·msglvl·>·1·with·care,·for·it·can·generate·huge·amounts\xd99 ·················timings·and·scalar·statistics,·and·use·msglvl·>·1·with·care,·for·it·can·generate·huge·amounts\xd
100 ·················of·output.\xd100 ·················of·output.\xd
101 ·················Error·checking:·If·graph·is·NULL,·or·if·msglvl·>·0·and·msgFile·is·NULL,·an·error·message·is\xd101 ·················Error·checking:·If·graph·is·NULL,·or·if·msglvl·>·0·and·msgFile·is·NULL,·an·error·message·is\xd
102 ·················printed·and·the·program·exits.\xd102 ·················printed·and·the·program·exits.\xd
103 ··············4····························Misc·:·DRAFT·January·15,·2021\xd103 ··············4····························Misc·:·DRAFT·February·18,·2022\xd
104 ················2.·ETree·*·orderViaND·(·Graph·*graph,·int·maxdomainsize,·int·seed,\xd104 ················2.·ETree·*·orderViaND·(·Graph·*graph,·int·maxdomainsize,·int·seed,\xd
105 ········································int·msglvl,·FILE·*msgFile·)·;\xd105 ········································int·msglvl,·FILE·*msgFile·)·;\xd
106 ··················This·method·returns·a·front·tree·ETree·object·for·a·nested·dissection·ordering·of·the·graph\xd106 ··················This·method·returns·a·front·tree·ETree·object·for·a·nested·dissection·ordering·of·the·graph\xd
107 ··················graph.·If·a·subgraph·has·more·vertices·than·the·maxdomainsize·parameter,·it·is·split.·The\xd107 ··················graph.·If·a·subgraph·has·more·vertices·than·the·maxdomainsize·parameter,·it·is·split.·The\xd
108 ··················seed·parameter·is·a·random·number·seed.·The·msglvl·and·msgFile·parameters·govern\xd108 ··················seed·parameter·is·a·random·number·seed.·The·msglvl·and·msgFile·parameters·govern\xd
109 ··················the·diagnostics·output.·Use·msglvl·=·0·for·no·output,·msglvl·=·1·for·timings·and·scalar\xd109 ··················the·diagnostics·output.·Use·msglvl·=·0·for·no·output,·msglvl·=·1·for·timings·and·scalar\xd
110 ··················statistics,·and·use·msglvl·>·1·with·care,·for·it·can·generate·huge·amounts·of·output.\xd110 ··················statistics,·and·use·msglvl·>·1·with·care,·for·it·can·generate·huge·amounts·of·output.\xd
Offset 136, 15 lines modifiedOffset 136, 15 lines modified
136 ·······································double·linewidth2,·double·radius,·char·*epsFileName,\xd136 ·······································double·linewidth2,·double·radius,·char·*epsFileName,\xd
137 ·······································int·msglvl,·FILE·*msgFile·)·;\xd137 ·······································int·msglvl,·FILE·*msgFile·)·;\xd
138 ··················This·method·is·used·to·create·an·EPS·(Encapsulated·Postscript)·file·that·contains·a·picture\xd138 ··················This·method·is·used·to·create·an·EPS·(Encapsulated·Postscript)·file·that·contains·a·picture\xd
139 ··················of·a·graph·in·two·dimensions.·We·use·this·to·visualize·separators·and·domain·decompositions,\xd139 ··················of·a·graph·in·two·dimensions.·We·use·this·to·visualize·separators·and·domain·decompositions,\xd
140 ··················mostly·of·regular·grids·and·triangulations·of·a·planar·region.\xd140 ··················mostly·of·regular·grids·and·triangulations·of·a·planar·region.\xd
141 ··················The·graph·object·defines·the·connectivity·of·the·vertices.·The·coords·object·defines·the\xd141 ··················The·graph·object·defines·the·connectivity·of·the·vertices.·The·coords·object·defines·the\xd
142 ··················locations·of·the·vertices.·The·tagsIV·object·is·used·to·define·whether·or·not·an·edge·is\xd142 ··················locations·of·the·vertices.·The·tagsIV·object·is·used·to·define·whether·or·not·an·edge·is\xd
143 ······································Misc·:·DRAFT··January·15,·2021····················5\xd143 ······································Misc·:·DRAFT··February·18,·2022···················5\xd
144 ·················drawn·between·two·vertices·adjacent·in·the·graph.·When·tagsIV·is·not·NULL,·if·there·is·an\xd144 ·················drawn·between·two·vertices·adjacent·in·the·graph.·When·tagsIV·is·not·NULL,·if·there·is·an\xd
145 ·················edge·(u,v)·in·the·graph·and·tags[u]·=·tags[v],·then·the·edge·with·width·linewidth1·is\xd145 ·················edge·(u,v)·in·the·graph·and·tags[u]·=·tags[v],·then·the·edge·with·width·linewidth1·is\xd
146 ·················drawn.·For·edges·(u,v)·in·the·graph·and·tags[u]·!=·tags[v],·then·the·edge·with·width\xd146 ·················drawn.·For·edges·(u,v)·in·the·graph·and·tags[u]·!=·tags[v],·then·the·edge·with·width\xd
147 ·················linewidth2is·drawn,·assuming·linewidth2>·0.·If·tagsIV·is·NULL,·than·all·edges·are·drawn\xd147 ·················linewidth2is·drawn,·assuming·linewidth2>·0.·If·tagsIV·is·NULL,·than·all·edges·are·drawn\xd
148 ·················with·width·linewidth1.·Each·vertex·is·draw·with·a·filled·circle·with·radius·radius.\xd148 ·················with·width·linewidth1.·Each·vertex·is·draw·with·a·filled·circle·with·radius·radius.\xd
149 ·················The·graph·and·its·Coords·object·occupy·a·certain·area·in·2-D·space.·We·try·to·plot·the\xd149 ·················The·graph·and·its·Coords·object·occupy·a·certain·area·in·2-D·space.·We·try·to·plot·the\xd
150 ·················graph·inside·the·area·defined·by·the·rect[]·array·in·such·a·manner·that·the·relative·scales\xd150 ·················graph·inside·the·area·defined·by·the·rect[]·array·in·such·a·manner·that·the·relative·scales\xd
Offset 177, 15 lines modifiedOffset 177, 15 lines modified
177 ·······························InpMtx·**pmtxA,·DenseMtx·**pmtxX,·DenseMtx·**pmtxB·)·;\xd177 ·······························InpMtx·**pmtxA,·DenseMtx·**pmtxX,·DenseMtx·**pmtxB·)·;\xd
178 ·················This·method·creates·a·linear·system·AX·=·B·for·a·natural·factor·formulation·of·a·n1×n2×n3\xd178 ·················This·method·creates·a·linear·system·AX·=·B·for·a·natural·factor·formulation·of·a·n1×n2×n3\xd
179 ·················grid.·If·n1,·n2·and·n3·are·all·greater·than·1,·the·grid·is·formed·of·linear·hexahedral·elements\xd179 ·················grid.·If·n1,·n2·and·n3·are·all·greater·than·1,·the·grid·is·formed·of·linear·hexahedral·elements\xd
180 ·················andthematrixAhas8*n1*n2*n3rows.·Ifoneofn1,n2andn3isequalto1,thegridisformed\xd180 ·················andthematrixAhas8*n1*n2*n3rows.·Ifoneofn1,n2andn3isequalto1,thegridisformed\xd
181 ·················of·linear·quadrilateral·elements·and·the·matrix·A·has·4*n1*n2*n3·rows.·The·entries·in·A·and\xd181 ·················of·linear·quadrilateral·elements·and·the·matrix·A·has·4*n1*n2*n3·rows.·The·entries·in·A·and\xd
182 ·················X·are·random·numbers,·B·is·computed·as·the·product·of·A·with·X.·A·can·be·real·(type·=\xd182 ·················X·are·random·numbers,·B·is·computed·as·the·product·of·A·with·X.·A·can·be·real·(type·=\xd
183 ·················1)·or·complex·(type·=·2).·The·number·of·columns·of·X·is·given·by·nrhs.·The·linear·system\xd183 ·················1)·or·complex·(type·=·2).·The·number·of·columns·of·X·is·given·by·nrhs.·The·linear·system\xd
184 ···········6·······················Misc·:·DRAFT·January·15,·2021\xd184 ···········6·······················Misc·:·DRAFT·February·18,·2022\xd
185 ···············is·ordered·using·theoretical·nested·dissection,·and·the·front·tree·is·transformed·using·the\xd185 ···············is·ordered·using·theoretical·nested·dissection,·and·the·front·tree·is·transformed·using·the\xd
186 ···············maxzeros·and·maxsize·parameters.·The·addresses·of·the·front·tree,·symbolic·factorization,\xd186 ···············maxzeros·and·maxsize·parameters.·The·addresses·of·the·front·tree,·symbolic·factorization,\xd
187 ···············and·three·matrix·objects·are·returned·in·the·last·five·arguments·of·the·calling·sequence.\xd187 ···············and·three·matrix·objects·are·returned·in·the·last·five·arguments·of·the·calling·sequence.\xd
188 ···············Error·checking:·None·presently.\xd188 ···············Error·checking:·None·presently.\xd
189 ···········1.2··Driver·programs·found·in·the·Misc·directory\xd189 ···········1.2··Driver·programs·found·in·the·Misc·directory\xd
190 ···········This·section·contains·brief·descriptions·of·the·driver·programs.\xd190 ···········This·section·contains·brief·descriptions·of·the·driver·programs.\xd
191 ·············1.·testNDperm·msglvl·msgFile·n1·n2·n3·outPermFile\xd191 ·············1.·testNDperm·msglvl·msgFile·n1·n2·n3·outPermFile\xd
Offset 215, 15 lines modifiedOffset 215, 15 lines modified
215 ···················*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd215 ···················*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd
216 ···················method.\xd216 ···················method.\xd
217 ··················The·seed·parameter·is·a·random·number·seed.\xd217 ··················The·seed·parameter·is·a·random·number·seed.\xd
218 ··················The·ETreeFile·parameter·is·the·output·file·for·the·ETree·object.·If·ETreeFile·is·none\xd218 ··················The·ETreeFile·parameter·is·the·output·file·for·the·ETree·object.·If·ETreeFile·is·none\xd
219 ···················then·the·ETree·object·is·not·written·to·a·file.·Otherwise,·the·ETree·writeToFile()\xd219 ···················then·the·ETree·object·is·not·written·to·a·file.·Otherwise,·the·ETree·writeToFile()\xd
220 ···················method·is·called·to·write·the·object·to·a·formatted·file·(if·ETreeFile·is·of·the·form\xd220 ···················method·is·called·to·write·the·object·to·a·formatted·file·(if·ETreeFile·is·of·the·form\xd
221 ···················*.etreef),·or·a·binary·file·(if·ETreeFile·is·of·the·form·*.etreeb).\xd221 ···················*.etreef),·or·a·binary·file·(if·ETreeFile·is·of·the·form·*.etreeb).\xd
222 ······································Misc·:·DRAFT··January·15,·2021····················7\xd222 ······································Misc·:·DRAFT··February·18,·2022···················7\xd
223 ··············3.·testOrderViaND·msglvl·msgFile·GraphFile·maxdomainsize·seed·ETreeFile\xd223 ··············3.·testOrderViaND·msglvl·msgFile·GraphFile·maxdomainsize·seed·ETreeFile\xd
224 ·················This·program·reads·in·a·Graph·object·from·a·file·and·computes·a·generalized·nested·dissection\xd224 ·················This·program·reads·in·a·Graph·object·from·a·file·and·computes·a·generalized·nested·dissection\xd
225 ·················ordering·of·the·graph.\xd225 ·················ordering·of·the·graph.\xd
226 ····················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd226 ····················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd
227 ·····················the·Perm·object·is·written·to·the·output·file.\xd227 ·····················the·Perm·object·is·written·to·the·output·file.\xd
228 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd228 ····················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
229 ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd229 ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd
Offset 254, 15 lines modifiedOffset 254, 15 lines modified
254 ····················The·seed·parameter·is·a·random·number·seed.\xd254 ····················The·seed·parameter·is·a·random·number·seed.\xd
255 ····················The·ETreeFile·parameter·is·the·output·file·for·the·ETree·object.·If·ETreeFile·is·none\xd255 ····················The·ETreeFile·parameter·is·the·output·file·for·the·ETree·object.·If·ETreeFile·is·none\xd
256 ·····················then·the·ETree·object·is·not·written·to·a·file.·Otherwise,·the·ETree·writeToFile()\xd256 ·····················then·the·ETree·object·is·not·written·to·a·file.·Otherwise,·the·ETree·writeToFile()\xd
257 ·····················method·is·called·to·write·the·object·to·a·formatted·file·(if·ETreeFile·is·of·the·form\xd257 ·····················method·is·called·to·write·the·object·to·a·formatted·file·(if·ETreeFile·is·of·the·form\xd
258 ·····················*.etreef),·or·a·binary·file·(if·ETreeFile·is·of·the·form·*.etreeb).\xd258 ·····················*.etreef),·or·a·binary·file·(if·ETreeFile·is·of·the·form·*.etreeb).\xd
259 ··············5.·drawGraph·msglvl·msgFile·inGraphFile·inCoordsFile·inTagsIVfile\xd259 ··············5.·drawGraph·msglvl·msgFile·inGraphFile·inCoordsFile·inTagsIVfile\xd
260 ··························outEPSfile·linewidth1·linewidth2·bbox[4]·rect[4]·radius\xd260 ··························outEPSfile·linewidth1·linewidth2·bbox[4]·rect[4]·radius\xd
261 ··············8······························Misc·:·DRAFT·January·15,·2021\xd261 ··············8······························Misc·:·DRAFT·February·18,·2022\xd
262 ···················This·driver·program·generates·a·Encapsulated·Postscript·file·outEPSfile·of·a·2-D·graph\xd262 ···················This·driver·program·generates·a·Encapsulated·Postscript·file·outEPSfile·of·a·2-D·graph\xd
263 ···················using·a·Graph·object,·a·Coords·object·and·a·tags·IV·object·that·contains·the·component·ids\xd263 ···················using·a·Graph·object,·a·Coords·object·and·a·tags·IV·object·that·contains·the·component·ids\xd
264 ···················of·the·vertices.\xd264 ···················of·the·vertices.\xd
265 ···················See·the·doDraw·script·file·in·this·directory·for·an·example·calling·sequence.\xd265 ···················See·the·doDraw·script·file·in·this·directory·for·an·example·calling·sequence.\xd
266 ·······················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd266 ·······················The·msglvl·parameter·determines·the·amount·of·output··taking·msglvl·>=·3·means\xd
267 ························that·all·objects·are·written·to·the·output·file.\xd267 ························that·all·objects·are·written·to·the·output·file.\xd
268 ·······················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd268 ·······················The·msgFile·parameter·determines·the·message·file··if·msgFile·is·stdout,·then·the\xd
Offset 293, 17 lines modifiedOffset 293, 17 lines modified
293 ···················See·Figure·1.1·for·a·plot·of·the·graph·of·R2D100,·a·randomly·triangulated·grid·with·100\xd293 ···················See·Figure·1.1·for·a·plot·of·the·graph·of·R2D100,·a·randomly·triangulated·grid·with·100\xd
294 ···················vertices·with·linewidth1·=·3.·Figure·1.2·illustrates·a·domain·decomposition·obtained·from\xd294 ···················vertices·with·linewidth1·=·3.·Figure·1.2·illustrates·a·domain·decomposition·obtained·from\xd
295 ···················the·fishnet·algorithm·of·Chapter·??·with·linewidth1·=·3·and·linewidth2·=·0.1.\xd295 ···················the·fishnet·algorithm·of·Chapter·??·with·linewidth1·=·3·and·linewidth2·=·0.1.\xd
296 ·················6.·testSemi·msglvl·msgFile·GraphFile·ETreeFile·mapFile\xd296 ·················6.·testSemi·msglvl·msgFile·GraphFile·ETreeFile·mapFile\xd
297 ···················This·program·is·used·to·compute·the·effect·of·using·a·semi-implicit·factorization·to·solve\xd297 ···················This·program·is·used·to·compute·the·effect·of·using·a·semi-implicit·factorization·to·solve\xd
298 ·········································AX="·A0,0·A0,1·#"·X0·#="·B0·#=B.\xd298 ·········································AX="·A0,0·A0,1·#"·X0·#="·B0·#=B.\xd
299 ·················································A1,0··A1,1····X1········B1\xd299 ·················································A1,0··A1,1····X1········B1\xd
300 ······································Misc·:·DRAFT··January·15,·2021····················9\xd300 ······································Misc·:·DRAFT··February·18,·2022···················9\xd
301 ··········································Figure·1.1:·R2D100\xd301 ··········································Figure·1.1:·R2D100\xd
302 ··············10····························Misc·:·DRAFT·January·15,·2021\xd302 ··············10····························Misc·:·DRAFT·February·18,·2022\xd
303 ································Figure·1.2:·R2D100:·fishnet·domain·decomposition\xd303 ································Figure·1.2:·R2D100:·fishnet·domain·decomposition\xd
304 ································3····3·····3····3·····3····3·····3····0·····0·····5\xd304 ································3····3·····3····3·····3····3·····3····0·····0·····5\xd
305 ·········································3\xd305 ·········································3\xd
306 ································3·················3····3·······0··················0\xd306 ································3·················3····3·······0··················0\xd
307 ·······················································3·3\xd307 ·······················································3·3\xd
Max diff block lines reached; 6519/18329 bytes (35.57%) of diff not shown.