Offset 1, 5 lines modified | Offset 1, 5 lines modified | ||
1 | ·0ee15fb6dc64ce1cbbfb0e7f1f3a9fb3·631520·libdevel·optional·libspooles-dev_2.2-14_i386.deb | 1 | ·0ee15fb6dc64ce1cbbfb0e7f1f3a9fb3·631520·libdevel·optional·libspooles-dev_2.2-14_i386.deb |
2 | ·081120635c61f11f65c99f7ca2574819·1078900·debug·optional·libspooles2.2-dbgsym_2.2-14_i386.deb | 2 | ·081120635c61f11f65c99f7ca2574819·1078900·debug·optional·libspooles2.2-dbgsym_2.2-14_i386.deb |
3 | ·8775febc8d00f88fc14843641839a2c0·479368·libs·optional·libspooles2.2_2.2-14_i386.deb | 3 | ·8775febc8d00f88fc14843641839a2c0·479368·libs·optional·libspooles2.2_2.2-14_i386.deb |
4 | · | 4 | ·583df7b01a285222388a4da37de9801e·8133920·doc·optional·spooles-doc_2.2-14_all.deb |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2018-12-19·22:56:58.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2018-12-19·22:56:58.000000·debian-binary |
2 | -rw-r--r--···0········0········0·····194 | 2 | -rw-r--r--···0········0········0·····1948·2018-12-19·22:56:58.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0··81 | 3 | -rw-r--r--···0········0········0··8131780·2018-12-19·22:56:58.000000·data.tar.xz |
Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
1 | Package:·spooles-doc | 1 | Package:·spooles-doc |
2 | Source:·spooles | 2 | Source:·spooles |
3 | Version:·2.2-14 | 3 | Version:·2.2-14 |
4 | Architecture:·all | 4 | 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:·8 | 6 | Installed-Size:·8200 |
7 | Suggests:·libspooles2.2-dev | 7 | Suggests:·libspooles2.2-dev |
8 | Section:·doc | 8 | Section:·doc |
9 | Priority:·optional | 9 | 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·documentation | 11 | Description:·SPOOLES·numerical·simulation·pre-·and·post-processor·documentation |
12 | ·SPOOLES·is·a·library·for·solving·sparse·real·and·complex·linear·systems·of | 12 | ·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. |
Offset 1, 56 lines modified | Offset 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)···15 | 6 | -rw-r--r--···0·root·········(0)·root·········(0)···152218·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.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.gz |
8 | -rw-r--r--···0·root·········(0)·root·········(0)···31 | 8 | -rw-r--r--···0·root·········(0)·root·········(0)···312974·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/AllInOne.ps.gz |
9 | -rw-r--r--···0·root·········(0)·root·········(0)···12 | 9 | -rw-r--r--···0·root·········(0)·root·········(0)···128109·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/BKL.ps.gz |
10 | -rw-r--r--···0·root·········(0)·root·········(0)···15 | 10 | -rw-r--r--···0·root·········(0)·root·········(0)···156296·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/BPG.ps.gz |
11 | -rw-r--r--···0·root·········(0)·root·········(0)···190 | 11 | -rw-r--r--···0·root·········(0)·root·········(0)···190599·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Chv.ps.gz |
12 | -rw-r--r--···0·root·········(0)·root·········(0)···10 | 12 | -rw-r--r--···0·root·········(0)·root·········(0)···101238·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ChvList.ps.gz |
13 | -rw-r--r--···0·root·········(0)·root·········(0)····94 | 13 | -rw-r--r--···0·root·········(0)·root·········(0)····94956·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ChvManager.ps.gz |
14 | -rw-r--r--···0·root·········(0)·root·········(0)···12 | 14 | -rw-r--r--···0·root·········(0)·root·········(0)···121195·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Coords.ps.gz |
15 | -rw-r--r--···0·root·········(0)·root·········(0)···11 | 15 | -rw-r--r--···0·root·········(0)·root·········(0)···116246·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DSTree.ps.gz |
16 | -rw-r--r--···0·root·········(0)·root·········(0)···13 | 16 | -rw-r--r--···0·root·········(0)·root·········(0)···134346·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DV.ps.gz |
17 | -rw-r--r--···0·root·········(0)·root·········(0)···11 | 17 | -rw-r--r--···0·root·········(0)·root·········(0)···118110·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/DenseMtx.ps.gz |
18 | -rw-r--r--···0·root·········(0)·root·········(0)···107 | 18 | -rw-r--r--···0·root·········(0)·root·········(0)···107747·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Drand.ps.gz |
19 | -rw-r--r--···0·root·········(0)·root·········(0)···121 | 19 | -rw-r--r--···0·root·········(0)·root·········(0)···121784·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/EGraph.ps.gz |
20 | -rw-r--r--···0·root·········(0)·root·········(0)···22 | 20 | -rw-r--r--···0·root·········(0)·root·········(0)···221271·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ETree.ps.gz |
21 | -rw-r--r--···0·root·········(0)·root·········(0)···25 | 21 | -rw-r--r--···0·root·········(0)·root·········(0)···255322·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Eigen.ps.gz |
22 | -rw-r--r--···0·root·········(0)·root·········(0)···179 | 22 | -rw-r--r--···0·root·········(0)·root·········(0)···179846·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/FrontMtx.ps.gz |
23 | -rw-r--r--···0·root·········(0)·root·········(0)···27 | 23 | -rw-r--r--···0·root·········(0)·root·········(0)···276101·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/FrontTrees.ps.gz |
24 | -rw-r--r--···0·root·········(0)·root·········(0)···184 | 24 | -rw-r--r--···0·root·········(0)·root·········(0)···184885·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/GPart.ps.gz |
25 | -rw-r--r--···0·root·········(0)·root·········(0)···1 | 25 | -rw-r--r--···0·root·········(0)·root·········(0)···190459·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Graph.ps.gz |
26 | -rw-r--r--···0·root·········(0)·root·········(0)···13 | 26 | -rw-r--r--···0·root·········(0)·root·········(0)···132126·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/I2Ohash.ps.gz |
27 | -rw-r--r--···0·root·········(0)·root·········(0)···1 | 27 | -rw-r--r--···0·root·········(0)·root·········(0)···110219·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IIheap.ps.gz |
28 | -rw-r--r--···0·root·········(0)·root·········(0)···12 | 28 | -rw-r--r--···0·root·········(0)·root·········(0)···122015·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IV.ps.gz |
29 | -rw-r--r--···0·root·········(0)·root·········(0)···124 | 29 | -rw-r--r--···0·root·········(0)·root·········(0)···124971·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/IVL.ps.gz |
30 | -rw-r--r--···0·root·········(0)·root·········(0)····95 | 30 | -rw-r--r--···0·root·········(0)·root·········(0)····95890·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Ideq.ps.gz |
31 | -rw-r--r--···0·root·········(0)·root·········(0)···20 | 31 | -rw-r--r--···0·root·········(0)·root·········(0)···205291·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/InpMtx.ps.gz |
32 | -rw-r--r--···0·root·········(0)·root·········(0)···28 | 32 | -rw-r--r--···0·root·········(0)·root·········(0)···284043·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/LinSol.ps.gz |
33 | -rw-r--r--···0·root·········(0)·root·········(0)····89 | 33 | -rw-r--r--···0·root·········(0)·root·········(0)····89704·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Lock.ps.gz |
34 | -rw-r--r--···0·root·········(0)·root·········(0)···176 | 34 | -rw-r--r--···0·root·········(0)·root·········(0)···176680·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MPI.ps.gz |
35 | -rw-r--r--···0·root·········(0)·root·········(0)···168 | 35 | -rw-r--r--···0·root·········(0)·root·········(0)···168722·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MSMD.ps.gz |
36 | -rw-r--r--···0·root·········(0)·root·········(0)···163 | 36 | -rw-r--r--···0·root·········(0)·root·········(0)···163692·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/MT.ps.gz |
37 | -rw-r--r--···0·root·········(0)·root·········(0)···146 | 37 | -rw-r--r--···0·root·········(0)·root·········(0)···146788·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Network.ps.gz |
38 | -rw-r--r--···0·root·········(0)·root·········(0)···143 | 38 | -rw-r--r--···0·root·········(0)·root·········(0)···143836·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/PatchAndGoInfo.ps.gz |
39 | -rw-r--r--···0·root·········(0)·root·········(0)···124 | 39 | -rw-r--r--···0·root·········(0)·root·········(0)···124972·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Pencil.ps.gz |
40 | -rw-r--r--···0·root·········(0)·root·········(0)···107 | 40 | -rw-r--r--···0·root·········(0)·root·········(0)···107488·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Perm.ps.gz |
41 | -rw-r--r--···0·root·········(0)·root·········(0)···91 | 41 | -rw-r--r--···0·root·········(0)·root·········(0)···911885·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/ReferenceManual.ps.gz |
42 | -rw-r--r--···0·root·········(0)·root·········(0)···15 | 42 | -rw-r--r--···0·root·········(0)·root·········(0)···153277·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SemiImplMtx.ps.gz |
43 | -rw-r--r--···0·root·········(0)·root·········(0)···134 | 43 | -rw-r--r--···0·root·········(0)·root·········(0)···134772·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SolveMap.ps.gz |
44 | -rw-r--r--···0·root·········(0)·root·········(0)···175 | 44 | -rw-r--r--···0·root·········(0)·root·········(0)···175985·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtx.ps.gz |
45 | -rw-r--r--···0·root·········(0)·root·········(0)···101 | 45 | -rw-r--r--···0·root·········(0)·root·········(0)···101907·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtxList.ps.gz |
46 | -rw-r--r--···0·root·········(0)·root·········(0)···11 | 46 | -rw-r--r--···0·root·········(0)·root·········(0)···118088·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SubMtxManager.ps.gz |
47 | -rw-r--r--···0·root·········(0)·root·········(0)···12 | 47 | -rw-r--r--···0·root·········(0)·root·········(0)···121194·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/SymbFac.ps.gz |
48 | -rw-r--r--···0·root·········(0)·root·········(0)···16 | 48 | -rw-r--r--···0·root·········(0)·root·········(0)···168193·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Tree.ps.gz |
49 | -rw-r--r--···0·root·········(0)·root·········(0)···190 | 49 | -rw-r--r--···0·root·········(0)·root·········(0)···190504·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/Utilities.ps.gz |
50 | -rw-r--r--···0·root·········(0)·root·········(0)···12 | 50 | -rw-r--r--···0·root·········(0)·root·········(0)···128194·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.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.gz |
52 | -rw-r--r--···0·root·········(0)·root·········(0)······378·2018-12-19·22:56:58.000000·./usr/share/doc/spooles-doc/copyright | 52 | -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)···18 | 53 | -rw-r--r--···0·root·········(0)·root·········(0)···189454·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.html | 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.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/spooles | 56 | -rw-r--r--···0·root·········(0)·root·········(0)······430·2018-12-19·22:56:58.000000·./usr/share/doc-base/spooles |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·A2.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·A2.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2062, 19 lines modified | Offset 2062, 21 lines modified | ||
2062 | end·readonly·def | 2062 | end·readonly·def |
2063 | /Encoding·256·array | 2063 | /Encoding·256·array |
2064 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2064 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2065 | dup·44·/comma·put | 2065 | dup·44·/comma·put |
2066 | dup·48·/zero·put | 2066 | dup·48·/zero·put |
2067 | dup·49·/one·put | 2067 | dup·49·/one·put |
2068 | dup·50·/two·put | 2068 | dup·50·/two·put |
2069 | dup·51·/three·put | ||
2069 | dup·5 | 2070 | dup·53·/five·put |
2070 | dup·58·/colon·put | 2071 | dup·58·/colon·put |
2071 | dup·7 | 2072 | dup·70·/F·put |
2072 | dup·97·/a·put | 2073 | dup·97·/a·put |
2074 | dup·98·/b·put | ||
2073 | dup·1 | 2075 | dup·101·/e·put |
2074 | dup·114·/r·put | 2076 | dup·114·/r·put |
2075 | dup·117·/u·put | 2077 | dup·117·/u·put |
2076 | dup·121·/y·put | 2078 | dup·121·/y·put |
2077 | readonly·def | 2079 | readonly·def |
2078 | currentdict·end | 2080 | currentdict·end |
2079 | currentfile·eexec | 2081 | currentfile·eexec |
2080 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2082 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2258, 83 lines modified | Offset 2260, 94 lines modified | ||
2258 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2260 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2259 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2261 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2260 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2262 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2261 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2263 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2262 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2264 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2263 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2265 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2264 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2266 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2265 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2267 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2266 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2267 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2268 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2269 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2270 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2271 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2272 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2273 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2274 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2275 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2276 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2277 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2278 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2279 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2280 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2281 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2282 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2283 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2284 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2285 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2286 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2287 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2288 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2289 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2290 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2291 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2292 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2293 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2294 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2295 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2296 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2297 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2298 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2299 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2300 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2301 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2302 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2303 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2304 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2305 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2306 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2307 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2308 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2309 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2310 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2311 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2312 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2313 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2314 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2315 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2316 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2317 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2318 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2319 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2320 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2321 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2322 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2323 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2324 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2325 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2326 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2327 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2328 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2329 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2330 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2331 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2332 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2333 | 2268 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2269 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2270 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2271 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2272 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2273 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2274 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2275 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2276 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2277 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2278 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2279 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2280 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2281 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 22816/34357 bytes (66.41%) of diff not shown. |
Offset 20, 15 lines modified | Offset 20, 15 lines modified | ||
20 | ·············•·A2·IS·REAL(mtx)·is·1·if·mtx·has·real·entries·and·0·otherwise.\xd | 20 | ·············•·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.\xd | 21 | ·············•·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,\xd | 22 | ···········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.\xd | 23 | ···········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\xd | 24 | ···········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.\xd | 25 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·A2·object.\xd |
26 | ·············································1\xd | 26 | ·············································1\xd |
27 | ··············2······························A2·:·DRAFT· | 27 | ··············2······························A2·:·DRAFT·February·13,·2025\xd |
28 | ··············1.2.1··Basic·methods\xd | 28 | ··············1.2.1··Basic·methods\xd |
29 | ··············Asusual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing·any·allocated\xd | 29 | ··············Asusual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing·any·allocated\xd |
30 | ··············data,·and·free’ing·the·object.\xd | 30 | ··············data,·and·free’ing·the·object.\xd |
31 | ················1.·A2·*·A2_new·(·void·)·;\xd | 31 | ················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\xd | 32 | ··················This·method·simply·allocates·storage·for·the·A2·structure·and·then·sets·the·default·fields·by·a·call·to\xd |
33 | ··················A2·setDefaultFields().\xd | 33 | ··················A2·setDefaultFields().\xd |
34 | ················2.·void·A2_setDefaultFields·(·A2·*mtx·)·;\xd | 34 | ················2.·void·A2_setDefaultFields·(·A2·*mtx·)·;\xd |
Offset 56, 15 lines modified | Offset 56, 15 lines modified | ||
56 | ················4.·int·A2_inc2·(·A2·*mtx·)·;\xd | 56 | ················4.·int·A2_inc2·(·A2·*mtx·)·;\xd |
57 | ··················This·method·returns·the·secondary·increment,·the·stride·in·memory·(with·respect·to·real·or·complex\xd | 57 | ··················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.\xd | 58 | ··················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.\xd | 59 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
60 | ················5.·double·*·A2_entries·(·A2·*mtx·)·;\xd | 60 | ················5.·double·*·A2_entries·(·A2·*mtx·)·;\xd |
61 | ··················This·method·returns·a·pointer·to·the·base·address·of·the·entries.\xd | 61 | ··················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.\xd | 62 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
63 | ···········································A2·:·DRAFT·· | 63 | ···········································A2·:·DRAFT··February·13,·2025·······················3\xd |
64 | ···············6.·double·*·A2_row·(·A2·*mtx,·int·irow·)·;\xd | 64 | ···············6.·double·*·A2_row·(·A2·*mtx,·int·irow·)·;\xd |
65 | ··················This·method·returns·a·pointer·to·the·leading·element·of·row·irow.\xd | 65 | ··················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\xd | 66 | ··················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.\xd | 67 | ··················and·the·program·exits.\xd |
68 | ···············7.·double·*·A2_column·(·A2·*mtx,·int·jcol·)·;\xd | 68 | ···············7.·double·*·A2_column·(·A2·*mtx,·int·jcol·)·;\xd |
69 | ··················This·method·returns·a·pointer·to·the·leading·element·of·column·jcol.\xd | 69 | ··················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\xd | 70 | ··················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 modified | Offset 93, 15 lines modified | ||
93 | ··················or·if·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed·and·the·program·exits.\xd | 93 | ··················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,\xd | 94 | ··············13.·void·A2_pointerToComplexEntry·(·A2·*mtx,·int·irow,·int·jcol,\xd |
95 | ···············································double·**ppReal,·double·**ppImag·)·;\xd | 95 | ···············································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\xd | 96 | ··················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.\xd | 97 | ··················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\xd | 98 | ··················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.\xd | 99 | ··················[0,n1-1],·or·if·jcol·is·not·in·[0,n2-1],·an·error·message·is·printed·and·the·program·exits.\xd |
100 | ··············4································ | 100 | ··············4································A2·:·DRAFT·February·13,·2025\xd |
101 | ··············1.2.3···Initialize·methods\xd | 101 | ··············1.2.3···Initialize·methods\xd |
102 | ·················1.·void·A2_init·(·A2·*mtx,·int·type,·int·n1,·int·n2,·int·inc1,·int·inc2,\xd | 102 | ·················1.·void·A2_init·(·A2·*mtx,·int·type,·int·n1,·int·n2,·int·inc1,·int·inc2,\xd |
103 | ··································double·*entries·)·;\xd | 103 | ··································double·*entries·)·;\xd |
104 | ···················This·is·the·basic·initializer·method.·We·require·that·mtx·not·be·NULL,·type·be·either·SPOOLES·REAL\xd | 104 | ···················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\xd | 105 | ···················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·=\xd | 106 | ···················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.\xd | 107 | ···················nrow·or·inc1·=·ncol·and·inc2·=·1·must·hold.\xd |
Offset 134, 15 lines modified | Offset 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\xd | 134 | ···················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.\xd | 135 | ···················printed·and·the·program·exits.\xd |
136 | ·················3.·void·A2_computeQ·(·A2·*Q,·A2·*A,·DV·*workDV,·int·msglvl,·FILE·*msgFile·)·;\xd | 136 | ·················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\xd | 137 | ···················This·method·computes·Q·from·the·A·=·QR·factorization·computed·in·A2·QRreduce().·Note:·A·and·Q\xd |
138 | ···················must·be·column·major.\xd | 138 | ···················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\xd | 139 | ···················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.\xd | 140 | ···················printed·and·the·program·exits.\xd |
141 | ···········································A2·:·DRAFT·· | 141 | ···········································A2·:·DRAFT··February·13,·2025·······················5\xd |
142 | ···············4.·void·A2_applyQT·(·A2·*Y,·A2·*A,·A2·*X,·DV·*workDV,·int·msglvl,·FILE·*msgFile·)·;\xd | 142 | ···············4.·void·A2_applyQT·(·A2·*Y,·A2·*A,·A2·*X,·DV·*workDV,·int·msglvl,·FILE·*msgFile·)·;\xd |
143 | ·········································T···············H\xd | 143 | ·········································T···············H\xd |
144 | ··················This·method·computes·Y·=·Q·X·(if·real)·or·Y·=·Q·X·(if·complex),·where·Q·is·stored·in·Householder\xd | 144 | ··················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\xd | 145 | ··················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\xd | 146 | ··················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.\xd | 147 | ··················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\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\xd |
Offset 174, 15 lines modified | Offset 174, 15 lines modified | ||
174 | ··················This·method·returns·the·infinity-norm·of·column·jcol·of·the·matrix.\xd | 174 | ··················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\xd | 175 | ··················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.\xd | 176 | ··················exits.\xd |
177 | ···············8.·double·A2_oneNormOfRow·(·A2·*mtx,·int·irow·)·;\xd | 177 | ···············8.·double·A2_oneNormOfRow·(·A2·*mtx,·int·irow·)·;\xd |
178 | ··················This·method·returns·the·one-norm·of·row·irow·of·the·matrix.\xd | 178 | ··················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\xd | 179 | ··················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.\xd | 180 | ··················exits.\xd |
181 | ··············6······························A2·:·DRAFT· | 181 | ··············6······························A2·:·DRAFT·February·13,·2025\xd |
182 | ················9.·double·A2_twoNormOfRow·(·A2·*mtx,·int·irow·)·;\xd | 182 | ················9.·double·A2_twoNormOfRow·(·A2·*mtx,·int·irow·)·;\xd |
183 | ··················This·method·returns·the·two-norm·of·row·irow·of·the·matrix.\xd | 183 | ··················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\xd | 184 | ··················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.\xd | 185 | ··················exits.\xd |
186 | ···············10.·double·A2_infinityNormOfRow·(·A2·*mtx,·int·irow·)·;\xd | 186 | ···············10.·double·A2_infinityNormOfRow·(·A2·*mtx,·int·irow·)·;\xd |
187 | ··················This·method·returns·the·infinity-norm·of·row·irow·of·the·matrix.\xd | 187 | ··················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\xd | 188 | ··················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 modified | Offset 213, 15 lines modified | ||
213 | ··············1.2.7··Utility·methods\xd | 213 | ··············1.2.7··Utility·methods\xd |
214 | ················1.·int·A2_sizeOf·(·A2·*mtx·)·;\xd | 214 | ················1.·int·A2_sizeOf·(·A2·*mtx·)·;\xd |
215 | ··················This·method·returns·the·number·of·bytes·owned·by·this·object.\xd | 215 | ··················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.\xd | 216 | ··················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·)·;\xd | 217 | ················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.\xd | 218 | ··················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)\xd | 219 | ··················mtx(0:n1-rowoff-1,0:n2-coloff-1)·:=·mtx(rowoff:n1-1,coloff:n2-1)\xd |
220 | ···········································A2·:·DRAFT·· | 220 | ···········································A2·:·DRAFT··February·13,·2025·······················7\xd |
221 | ··················Error·checking:·If·mtx·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd | 221 | ··················Error·checking:·If·mtx·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd |
222 | ···············3.·int·A2_rowMajor·(·A2·*mtx·)·;\xd | 222 | ···············3.·int·A2_rowMajor·(·A2·*mtx·)·;\xd |
223 | ··················This·method·returns·1·if·the·storage·is·row·major,·otherwise·it·returns·zero.\xd | 223 | ··················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.\xd | 224 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
225 | ···············4.·int·A2_columnMajor·(·A2·*mtx·)·;\xd | 225 | ···············4.·int·A2_columnMajor·(·A2·*mtx·)·;\xd |
226 | ··················This·method·returns·1·if·the·storage·is·column·major,·otherwise·it·returns·zero.\xd | 226 | ··················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.\xd | 227 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
Offset 253, 15 lines modified | Offset 253, 15 lines modified | ||
253 | ··················This·method·fills·the·colZV·object·with·column·jcol·of·the·matrix.\xd | 253 | ··················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],\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],\xd |
255 | ··················an·error·message·is·printed·and·the·program·exits.\xd | 255 | ··················an·error·message·is·printed·and·the·program·exits.\xd |
256 | ··············12.·void·A2_setRow·(·A2·*mtx,·double·row[],·int·irow·)·;\xd | 256 | ··············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.\xd | 257 | ··················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\xd | 258 | ··················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.\xd | 259 | ··················printed·and·the·program·exits.\xd |
260 | ········8················A2·:·DRAFT· | 260 | ········8················A2·:·DRAFT·February·13,·2025\xd |
261 | ········13.·void·A2_setRowDV·(·A2·*mtx,·DV·rowDV,·int·irow·)·;\xd | 261 | ········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.\xd | 262 | ··········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],\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],\xd |
264 | ··········an·error·message·is·printed·and·the·program·exits.\xd | 264 | ··········an·error·message·is·printed·and·the·program·exits.\xd |
265 | ········14.·void·A2_setRowZV·(·A2·*mtx,·ZV·rowZV,·int·irow·)·;\xd | 265 | ········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.\xd | 266 | ··········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],\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],\xd |
Offset 294, 15 lines modified | Offset 294, 15 lines modified | ||
294 | ··········Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 294 | ··········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·)·;\xd | 295 | ········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\xd | 296 | ··········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\xd | 297 | ··········the·same·size,·the·leading·min(mtxA->n1,mtxB->n1)rows·and·min(mtxA->n2,mtxB->n2)columns·are\xd |
298 | ··········copied.\xd | 298 | ··········copied.\xd |
299 | ··········Error·checking:·If·mtxA·or·mtxB·is·NULL,·or·if·the·matrices·are·not·of·the·same·type,·an·error·message\xd | 299 | ··········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.\xd | 300 | ··········is·printed·and·the·program·exits.\xd |
301 | ···········································A2·:·DRAFT·· | 301 | ···········································A2·:·DRAFT··February·13,·2025·······················9\xd |
302 | ··············23.·void·A2_sub·(·A2·*mtxA,·A2·*mtxB·)·;\xd | 302 | ··············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\xd | 303 | ··················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)\xd | 304 | ··················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.\xd | 305 | ··················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\xd | 306 | ··················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.\xd | 307 | ··················is·printed·and·the·program·exits.\xd |
308 | ··············24.·void·A2_swapRows·(·A2·*mtx,·int·irow1,·int·irow2·)·;\xd | 308 | ··············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. |
Offset 12, 15 lines modified | Offset 12, 15 lines modified | ||
12 | %%EndComments | 12 | %%EndComments |
13 | %%BeginDefaults | 13 | %%BeginDefaults |
14 | %%ViewingOrientation:·1·0·0·1 | 14 | %%ViewingOrientation:·1·0·0·1 |
15 | %%EndDefaults | 15 | %%EndDefaults |
16 | %DVIPSWebPage:·(www.radicaleye.com) | 16 | %DVIPSWebPage:·(www.radicaleye.com) |
17 | %DVIPSCommandLine:·dvips·main·-o·AllInOne.ps | 17 | %DVIPSCommandLine:·dvips·main·-o·AllInOne.ps |
18 | %DVIPSParameters:·dpi=600 | 18 | %DVIPSParameters:·dpi=600 |
19 | %DVIPSSource:··TeX·output·202 | 19 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
20 | %%BeginProcSet:·tex.pro·0·0 | 20 | %%BeginProcSet:·tex.pro·0·0 |
21 | %! | 21 | %! |
22 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 22 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
23 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 23 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
24 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 24 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
25 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 25 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
26 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 26 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2706, 27 lines modified | Offset 2706, 30 lines modified | ||
2706 | /Encoding·256·array | 2706 | /Encoding·256·array |
2707 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2707 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2708 | dup·44·/comma·put | 2708 | dup·44·/comma·put |
2709 | dup·46·/period·put | 2709 | dup·46·/period·put |
2710 | dup·48·/zero·put | 2710 | dup·48·/zero·put |
2711 | dup·49·/one·put | 2711 | dup·49·/one·put |
2712 | dup·50·/two·put | 2712 | dup·50·/two·put |
2713 | dup·51·/three·put | ||
2713 | dup·5 | 2714 | dup·53·/five·put |
2714 | dup·61·/equal·put | 2715 | dup·61·/equal·put |
2715 | dup·65·/A·put | 2716 | dup·65·/A·put |
2716 | dup·66·/B·put | 2717 | dup·66·/B·put |
2717 | dup·67·/C·put | 2718 | dup·67·/C·put |
2718 | dup·68·/D·put | 2719 | dup·68·/D·put |
2720 | dup·70·/F·put | ||
2719 | dup·71·/G·put | 2721 | dup·71·/G·put |
2720 | dup·74·/J·put | 2722 | dup·74·/J·put |
2721 | dup·75·/K·put | 2723 | dup·75·/K·put |
2722 | dup·80·/P·put | 2724 | dup·80·/P·put |
2723 | dup·82·/R·put | 2725 | dup·82·/R·put |
2724 | dup·87·/W·put | 2726 | dup·87·/W·put |
2725 | dup·97·/a·put | 2727 | dup·97·/a·put |
2728 | dup·98·/b·put | ||
2726 | dup·99·/c·put | 2729 | dup·99·/c·put |
2727 | dup·101·/e·put | 2730 | dup·101·/e·put |
2728 | dup·102·/f·put | 2731 | dup·102·/f·put |
2729 | dup·103·/g·put | 2732 | dup·103·/g·put |
2730 | dup·104·/h·put | 2733 | dup·104·/h·put |
2731 | dup·105·/i·put | 2734 | dup·105·/i·put |
2732 | dup·107·/k·put | 2735 | dup·107·/k·put |
Offset 2922, 203 lines modified | Offset 2925, 221 lines modified | ||
2922 | 66D4EBC86C0DF27B789D5597FE88BCDAD2925CFF60F5A8EA618FE867857D585A | 2925 | 66D4EBC86C0DF27B789D5597FE88BCDAD2925CFF60F5A8EA618FE867857D585A |
2923 | CE25A158AED63B8FE391030C518693AEC75AC0AADD0C11B0065E2ABCF51132F3 | 2926 | CE25A158AED63B8FE391030C518693AEC75AC0AADD0C11B0065E2ABCF51132F3 |
2924 | 82E3718B9A9FAAF727F2D8286177EE27BAD040C66D0D2D7C092B45D9330265B5 | 2927 | 82E3718B9A9FAAF727F2D8286177EE27BAD040C66D0D2D7C092B45D9330265B5 |
2925 | 6B5C8E29F71C9EF548BFA4BAFAB242B26455E4B7FC1882D68E408D25E6F58EC3 | 2928 | 6B5C8E29F71C9EF548BFA4BAFAB242B26455E4B7FC1882D68E408D25E6F58EC3 |
2926 | 046AAFC52C182BDCD36034FD58E8B379C9F2BD16FA6FBB8C455E36A1BEA8F803 | 2929 | 046AAFC52C182BDCD36034FD58E8B379C9F2BD16FA6FBB8C455E36A1BEA8F803 |
2927 | 2AC069379392D74A6E8DD64AAC6FB5E7EE151EE99AF33B1D9E55C5C8D601EEB7 | 2930 | 2AC069379392D74A6E8DD64AAC6FB5E7EE151EE99AF33B1D9E55C5C8D601EEB7 |
2928 | 2C194E090D261E86199D6576EC00044C87B3E79C39B4CBCBF391B78C1E9D17AE | 2931 | 2C194E090D261E86199D6576EC00044C87B3E79C39B4CBCBF391B78C1E9D17AE |
2929 | FC99092341499E3160303A869929280E672C29204632974124DE524092221775 | ||
2930 | 1ECA4A30DF02B58740DCC4BA984CB0AF7F0ED7642F310CA9C8DE9DD1ABA550D5 | ||
2931 | 0CB05C0AAC0D6FD8A162B1819417381F9FE61C6C969A9F1B90540850B1987ACB | ||
2932 | 78AFA3A7CB4777BE09789E016B56B6703DA49888701BB3E62C71C23BC4836E53 | ||
2933 | 36B08C6D7989C5CC88FBAF42D988B7C84C0BFBD1515B88EA7EDCDA0F7A90A3EF | ||
2934 | 3399B19919992B3061D71E2CA9D5EB3DAD40B23A8F46B22D97DCFB1F59C6191E | ||
2935 | 1F10115669CD6CC05A4BE4F7AC5252F4EF69041831C805F18C467E3897BD934E | ||
2936 | 535073A5F07092528A564245005C2D3DE8FB7C0766724A17C870AA8BA5D92B60 | ||
2937 | B0405DFD157AC0E2EAC29B4C646EF47AC3073866DBAF844C997648F5F8BB467A | ||
2938 | D743E84DC558A7EA03F24E67261C753FABE4EE9F7BF298980F3DCDB668261517 | ||
2939 | 137A75D73525BDA305A66D6BF225C9B4D364CBBBA5632674384228DE6841A1FB | ||
2940 | 48EE0B15B9A6B45EEE062A92E75FE251C3264464FCB8816800C17A05DB8551A8 | ||
2941 | DB9364CB0B4AB7BB3318F4D15FFEB6DE1F46442861C50C30949CB7F2166385AD | ||
2942 | 46632ED0AAA2FB3434D6A0D964E28CB20EAEC9E247CE185B2D44ED0A293BC092 | ||
2943 | 82F4C469C80917C66BE00DA188E07436627F58C4E397AF82ECBE69F55594ECB9 | ||
2944 | CC5BD92164913FD02D98C4499D772355DA6C3A4975722C9F37E4C9B457CBC7C6 | ||
2945 | 8A34D50B9578E6903B81A1EBBF5B958F1B808DCC6C1932ED0205232EAFE4A534 | ||
2946 | 7F9357AC44FB46AC86498BB3232F7E3778ABA8D251CA4E1BDFD9283F61E64E96 | ||
2947 | BBC373DCC8789452063B4426AB14A3D4F39F53FCA9E2E60E057059A04EFB7EB7 | ||
2948 | E6A4C0DBB5A974E6123865778F68229ED529309E3E83859F5FE137361BB04538 | ||
2949 | E2EBB47CA97416C3EF50FC3859C0CCD70412412438ADC502A12E8C51C2E622B8 | ||
2950 | 2029FC24B97261661084F7A12E16E0EFCDC32D9FEEA428C2AD98F509515A63B2 | ||
2951 | D18ACA07C7970069F579CA72532ABDD36F30DB911F17240C3434513135C5D716 | ||
2952 | 0C18D2393379322E981CF14BC40AF2F88A3A1D1C6104006CF7D62104C62A9C85 | ||
2953 | AB1B2AB771EB3EFF53C7B669D46044D66288B409E2AE87703EDA87B19DF79B49 | ||
2954 | C49C5FB383963A32207E0E9D0D181892D76E222CF3B3A093D3E24985CC9D9117 | ||
2955 | 513A1F1DE39190945E47E9B52F2C059A72ED93230AE24A159DC8B14D3CD5F8CA | ||
2956 | B8F9D545C1B53C88236852E17E9951206154D23AF27FDB261DC7A65C937C9621 | ||
2957 | B89BC537CE8CB0244D24814B8D160AECB977DDBA8CF55B40E7D2F33F93A94464 | ||
2958 | 37630BFE3999281890F84626BCC8B83DA3D107AE517F117E647DF624AC237F25 | ||
2959 | A2BE94B8979B1C80CA95F29085F5947EE154E1D6FD635F15E9F3F1370341AF9C | ||
2960 | DB3F3BF08F9200BFD126E89B45FDFD225630CA3F546502DB95BE918DEC4D45D1 | ||
2961 | 3C73D76D93D61C89E755330C10F1ACDBEB4A3A7271AF255462A47326F1A602E1 | ||
2962 | 1A9CC77B548D72EDD93A0F7E9446A6233CA4939C2C4E601C19F7E86B0B9D1958 | ||
2963 | 7EF00C246264EBD104AD0FD5644D70D6588CC1DC43A1C9F75543E54874194EB3 | ||
2964 | FC5F8AFD343A87B7C0B356BF9204CE8ECF2E043471CAE759EC5AF62DA0FFC886 | ||
2965 | B45D1E84E0FE3DA99FBB180F71DD82B03A38E0AC8D64D60830975FE7AE3BC8CD | ||
2966 | A29CAC515D983B2FAABEE628BEE7409C02A0BCC421F4AED9B6AAC13FC6E91F69 | ||
2967 | 07D4AA6D0D8B416DD36D7721A70A2C924549C8844D4DE8379436BFE526F46B8D | ||
2968 | 9D48A18B65CFA77FE85533DB86EF91C8CC7E8BDCEF55A913797C7CF1EB8EBB55 | ||
2969 | A6C2446DF9F95088195043316E4631A1481359A124D391004C97EB94712E6052 | ||
2970 | 1F3D6AD432A91233B31F92E033C9527F85CFCEB55177368FBC56AB054FABD94F | ||
2971 | 8F472FB756762082768408A0D97EE6A25232A2C0B15FEA65ADA07083B763367F | ||
2972 | FE43C9C4B6C466F64E010CA885EE420E89AD50AF68DEEBECB4688F3CAAEEDF63 | ||
2973 | 3F3E997C803D754A3B30C4003265089F5C4ADE539F7EA45F6C4802123301EF3A | ||
2974 | 29632E1E3D46786235EC64AED7A6C86615C7ED7A6BB2892AAADF49A0A15F324C | ||
2975 | 4CE9F209A3B6DDFB73A561BA2ED832FF6CB05D55C2336DC2AC17638689E05298 | ||
2976 | C8741876C83C115EA41761E11D5727B5164E2E0A4F40F3418740725D5CB1793A | ||
2977 | BE6FC67E39EEBC466698658431F41472388FB3C2551972C17BBEBB1F4FC1ECA6 | ||
2978 | 912A38631E79474CD67AFE2810945CFB86022516B3B3FFF219B168F038F2B366 | ||
2979 | 9CB42D0FEBA28CB5479CAF9DB8A8169C5551FC302F099AA42194D929B86F6BB9 | ||
2980 | 8DF5C0CD614FF5E83935C38380308604193E3A227BC5D97C0DF37EF54CD5EEB7 | ||
2981 | 3743BE005C6FDB9E72CF2D1AB8EE5B359D1788E59CD389B2C259CD5ED1F35A79 | ||
2982 | 4C129D59489804E0DD4D02E4DADF069B160E9D174B5C6F27E70CB449573B7EEE | ||
2983 | F79204C641E3C9BFC02BEFB3A16BF489DF04C2D294DEF1EFEC55E60757D06DF5 | ||
2984 | 5C614C6EA0AE1DC274CC2A55C1D4DFAF9ECB71B90BA0A24D8E43DCDEAC9FE8DC | ||
2985 | 5A210181D4CAE6A2A293D4858611FB233B85D57A219E992B9BF2F7CE26C818B9 | ||
2986 | A7573F8D98A95C9164A6CD0CBE9E573614C27F710F5CB6976A044199B722558F | ||
2987 | 590C79219C53405917D4C2FE54980A03AFB5C76D2AA34163DF7127F1A16E3E57 | ||
2988 | EF7B39B70FB6C025BABA8DB210046247C03D0D7692DF7B494657C0663C2CF3BB | ||
2989 | 55CB7FC13624187C00A24E9F24E38E0D78B0055C643B2DB6A35777FECC61AFCE | ||
2990 | 6EF6110FD2D155A386DD8C7A2E51C7A828808F758F5665A1ABE09A5C4B225E07 | ||
2991 | 5899FA72C4FCA407A37CDE3EE4D6716101C2A48AFD1EDB48C113F66CA79C589D | ||
2992 | 3B900BB52AEE138C70B43A7A83DA4920B7CB178F4D95F060632B1E237A940B60 | ||
2993 | E53A087279B4B1807736EF7CD2E94C5243E89A000C96E3FA6AC3013F3E6E94D1 | ||
2994 | 183AF01E556128F877AA15449A665D7F4D2C7A8465853B85BF6CEE904032B615 | ||
2995 | 4B027CE70E3F92847B9C400CB0A586A13FD568232B03D8D8943A4CF81BE95DCA | ||
2996 | 71E6FE42D6733579D8D3325B1E67BB21125892816EA452E5C31EEEBE09AE91AB | ||
2997 | 06034F194D380C216B10D340787E8652D02E450911B9749442C1DB66DEFFBB4C | ||
2998 | 77BAE5274EA596AB5E76D7A7224809D415A208182A52A65BBA41C334E850B9F4 | ||
2999 | DA4337D8C5AC400BAF3C682B8EC9A4EC9A8FC241C17FC30CFB35EA208E6C8E3C | ||
3000 | 5B4846107FCAD69B11BAE9405197C79AF9C2E9054D9DC72933AAC1D9113AD0F9 | ||
3001 | BE48E7D9EF0A22042F3E8F5EF074C1ABD470B2FBFD95F494CBD47AF9EF5291DF | ||
Max diff block lines reached; 172077/199926 bytes (86.07%) of diff not shown. |
Offset 1, 16 lines modified | Offset 1, 16 lines modified | ||
1 | ·····························Solving·Linear·Systems·using·SPOOLES·2.2\xd | 1 | ·····························Solving·Linear·Systems·using·SPOOLES·2.2\xd |
2 | ·································C.·C.·Ashcraft,·R.·G.·Grimes,·D.·J.·Pierce,·D.·K.·Wah\xd | 2 | ·································C.·C.·Ashcraft,·R.·G.·Grimes,·D.·J.·Pierce,·D.·K.·Wah\xd |
3 | ·················································Boeing·Phantom·Works∗\xd | 3 | ·················································Boeing·Phantom·Works∗\xd |
4 | ···················································· | 4 | ····················································February·13,·2025\xd |
5 | ·················∗P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124.·This·research·was·supported·in·part·by·the·DARPA\xd | 5 | ·················∗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\xd | 6 | ···············Contract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd |
7 | ···············Support·Initiative.\xd | 7 | ···············Support·Initiative.\xd |
8 | ·····························································1\xd | 8 | ·····························································1\xd |
9 | ···················2···········SPOOLES·2.2·—·Solving·Linear·Systems····················································· | 9 | ···················2···········SPOOLES·2.2·—·Solving·Linear·Systems·····················································February·13,·2025\xd |
10 | ···················Contents\xd | 10 | ···················Contents\xd |
11 | ···················1·Overview··············································································································4\xd | 11 | ···················1·Overview··············································································································4\xd |
12 | ···················2·Serial·Solution·of·AX·=·Y·using·an·LU·factorization···································································6\xd | 12 | ···················2·Serial·Solution·of·AX·=·Y·using·an·LU·factorization···································································6\xd |
13 | ·······················2.1···Reading·the·input·parameters·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········6\xd | 13 | ·······················2.1···Reading·the·input·parameters·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········6\xd |
14 | ·······················2.2···Communicating·the·data·for·the·problem·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············6\xd | 14 | ·······················2.2···Communicating·the·data·for·the·problem·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············6\xd |
15 | ·······················2.3···Reordering·the·linear·system·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.····9\xd | 15 | ·······················2.3···Reordering·the·linear·system·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.····9\xd |
16 | ·······················2.4···Non-numeric·work·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········9\xd | 16 | ·······················2.4···Non-numeric·work·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········9\xd |
Offset 39, 18 lines modified | Offset 39, 18 lines modified | ||
39 | ·······················5.3···Reordering·the·linear·system·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···21\xd | 39 | ·······················5.3···Reordering·the·linear·system·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···21\xd |
40 | ·······················5.4···Non-numeric·work·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········21\xd | 40 | ·······················5.4···Non-numeric·work·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········21\xd |
41 | ·······················5.5···The·Matrix·Factorization·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········22\xd | 41 | ·······················5.5···The·Matrix·Factorization·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········22\xd |
42 | ·······················5.6···Solving·the·linear·system······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···23\xd | 42 | ·······················5.6···Solving·the·linear·system······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···23\xd |
43 | ·······················5.7···Sample·Matrix·and·Right·Hand·Side·Files·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············23\xd | 43 | ·······················5.7···Sample·Matrix·and·Right·Hand·Side·Files·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············23\xd |
44 | ···················A·allInOne.c·–·A·Serial·LU·Driver·Program··············································································24\xd | 44 | ···················A·allInOne.c·–·A·Serial·LU·Driver·Program··············································································24\xd |
45 | ···················B·allInOne.c·–·A·Serial·LU·Driver·Program··············································································31\xd | 45 | ···················B·allInOne.c·–·A·Serial·LU·Driver·Program··············································································31\xd |
46 | ·············· | 46 | ··············February·13,·2025····························SPOOLES·2.2·—·Solving·Linear·Systems········3\xd |
47 | ··············C·allInOne.c·–·A·Serial·LU·Driver·Program···············································39\xd | 47 | ··············C·allInOne.c·–·A·Serial·LU·Driver·Program···············································39\xd |
48 | ··············D·allInOne.c·–·A·Serial·QR·Driver·Program···············································49\xd | 48 | ··············D·allInOne.c·–·A·Serial·QR·Driver·Program···············································49\xd |
49 | ··············4········SPOOLES·2.2·—·Solving·Linear·Systems······························ | 49 | ··············4········SPOOLES·2.2·—·Solving·Linear·Systems······························February·13,·2025\xd |
50 | ··············1····Overview\xd | 50 | ··············1····Overview\xd |
51 | ··············The·SPOOLES·software·library·is·designed·to·solve·sparse·systems·of·linear·equations·AX·=·Y·for·X,\xd | 51 | ··············The·SPOOLES·software·library·is·designed·to·solve·sparse·systems·of·linear·equations·AX·=·Y·for·X,\xd |
52 | ··············whereAisfullrankandX·andY·aredensematrices.·ThematrixAcanbeeitherrealorcomplex,symmetric,\xd | 52 | ··············whereAisfullrankandX·andY·aredensematrices.·ThematrixAcanbeeitherrealorcomplex,symmetric,\xd |
53 | ··············Hermitian,·square·nonsymmetric,·or·overdetermined.·When·A·is·square,·there·are·four·steps·in·the·process\xd | 53 | ··············Hermitian,·square·nonsymmetric,·or·overdetermined.·When·A·is·square,·there·are·four·steps·in·the·process\xd |
54 | ··············of·solving·AX·=·Y.\xd | 54 | ··············of·solving·AX·=·Y.\xd |
55 | ·················•·communicate·the·data·for·the·problem·as·A,·X·and·Y.\xd | 55 | ·················•·communicate·the·data·for·the·problem·as·A,·X·and·Y.\xd |
56 | ·····························ee····e·······e········T··e···········e\xd | 56 | ·····························ee····e·······e········T··e···········e\xd |
Offset 94, 26 lines modified | Offset 94, 26 lines modified | ||
94 | ·················The·SPOOLES·library·is·based·on·an·object·oriented·design·philosophy.·There·are·several·data·struc-\xd | 94 | ·················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\xd | 95 | ··············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\xd | 96 | ··············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\xd | 97 | ··············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.\xd | 98 | ··············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\xd | 99 | ·················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\xd | 100 | ··············header·file·defines·the·object’s·C·struct·and·has·prototypes·(with·extensive·comments)·of·the·object’s\xd |
101 | ·············· | 101 | ··············February·13,·2025····························SPOOLES·2.2·—·Solving·Linear·Systems········5\xd |
102 | ···········································································A\xd | 102 | ···········································································A\xd |
103 | ··············methods.·Thesourcefiles·arefound·in·the·DenseMtx/srcdirectory.·The·LT·X·documentation·files·are·found\xd | 103 | ··············methods.·Thesourcefiles·arefound·in·the·DenseMtx/srcdirectory.·The·LT·X·documentation·files·are·found\xd |
104 | ············································································E\xd | 104 | ············································································E\xd |
105 | ··············in·the·DenseMtx/docdirectory.·The·files·can·be·used·to·create·the·DenseMtxobject’s·chapter·in·the·Reference\xd | 105 | ··············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\xd | 106 | ··············Manual,orinastandalonemannertogeneratetheobject’sdocumentation.·TheDenseMtx/driversdirectory\xd |
107 | ··············contains·driver·programs·that·exercise·and·validate·the·object’s·functionality.\xd | 107 | ··············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,\xd | 108 | ·················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\xd | 109 | ··············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\xd | 110 | ··············programs.·The·MT/drivers·and·MPI/drivers·directories·contain·the·multithreaded·and·MPI·LU·driver\xd |
111 | ··············programs.\xd | 111 | ··············programs.\xd |
112 | ················6·········SPOOLES·2.2·—·Solving·Linear·Systems········································· | 112 | ················6·········SPOOLES·2.2·—·Solving·Linear·Systems·········································February·13,·2025\xd |
113 | ················2·····Serial·Solution·of·AX·=·Y·using·an·LU·factorization\xd | 113 | ················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\xd | 114 | ················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.\xd | 115 | ················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\xd | 116 | ····················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.\xd | 117 | ················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\xd | 118 | ················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\xd | 119 | ················(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 modified | Offset 145, 15 lines modified | ||
145 | ······················nrhs·floating·point·numbers·if·the·system·is·real,·or·2*nrhs·numbers·if·the·system·is·complex.\xd | 145 | ······················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.\xd | 146 | ····················•·The·seed·parameter·is·a·random·number·seed·used·in·the·ordering·process.\xd |
147 | ················2.2····Communicating·the·data·for·the·problem\xd | 147 | ················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\xd | 148 | ················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\xd | 149 | ················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()\xd | 150 | ················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.\xd | 151 | ···················1InpMtx·stands·for·Input·Matrix,·for·it·is·the·object·into·which·the·user·inputs·the·matrix·entries.\xd |
152 | ················ | 152 | ················February·13,·2025····································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\xd | 153 | ················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\xd | 154 | ················InpMtx·by·converting·the·internal·storage·of·the·matrix·entries·to·a·vector·form.·(This·is·necessary·for·later\xd |
155 | ················steps.)\xd | 155 | ················steps.)\xd |
156 | ················inputFile·=·fopen(matrixFileName,·"r")·;\xd | 156 | ················inputFile·=·fopen(matrixFileName,·"r")·;\xd |
157 | ················fscanf(inputFile,·"%d·%d·%d",·&nrow,·&ncol,·&nent)·;\xd | 157 | ················fscanf(inputFile,·"%d·%d·%d",·&nrow,·&ncol,·&nent)·;\xd |
158 | ················neqns·=·nrow·;\xd | 158 | ················neqns·=·nrow·;\xd |
159 | ················mtxA·=·InpMtx_new()·;\xd | 159 | ················mtxA·=·InpMtx_new()·;\xd |
Offset 192, 15 lines modified | Offset 192, 15 lines modified | ||
192 | ····················•·The·fifth·argument·maxnvector·is·an·estimate·of·the·number·of·number·of·vectors·that·will·be·used,\xd | 192 | ····················•·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.\xd | 193 | ······················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\xd | 194 | ················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.\xd | 195 | ················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\xd | 196 | ···················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.\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.\xd |
198 | ················They·are·described·in·the·reference·manual·in·the·section·for·the·particular·object.\xd | 198 | ················They·are·described·in·the·reference·manual·in·the·section·for·the·particular·object.\xd |
199 | ··············8········SPOOLES·2.2·—·Solving·Linear·Systems······························ | 199 | ··············8········SPOOLES·2.2·—·Solving·Linear·Systems······························February·13,·2025\xd |
200 | ·················Every·object·in·SPOOLES·has·print·methods·to·output·the·contents·of·that·object.·This·is·illustrated\xd | 200 | ·················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\xd | 201 | ··············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\xd | 202 | ··············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.\xd | 203 | ··············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\xd | 204 | ·················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.\xd | 205 | ··············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")·;\xd | 206 | ··············inputFile·=·fopen(rhsFileName,·"r")·;\xd |
Offset 240, 15 lines modified | Offset 240, 15 lines modified | ||
240 | ···················number·of·rows,·or·neqns.\xd | 240 | ···················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\xd | 241 | ··············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\xd | 242 | ··············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\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\xd |
244 | ··············number·of·equations.\xd | 244 | ··············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\xd | 245 | ·················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.\xd | 246 | ··············“set·entries”·methods.·Note,·the·nonzero·rows·can·be·read·from·the·file·in·any·order.\xd |
247 | ················· | 247 | ·················February·13,·2025···································SPOOLES·2.2·—·Solving·Linear·Systems···············9\xd |
248 | ·················2.3···Reordering·the·linear·system\xd | 248 | ·················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.\xd | 249 | ·················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\xd | 250 | ·················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\xd | 251 | ·················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\xd | 252 | ·················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.\xd | 253 | ·················front·tree·object·takes·three·step,·as·seen·in·the·code·fragment·below.\xd |
254 | ·················adjIVL·=·InpMtx_fullAdjacency(mtxA)·;\xd | 254 | ·················adjIVL·=·InpMtx_fullAdjacency(mtxA)·;\xd |
Offset 287, 15 lines modified | Offset 287, 15 lines modified | ||
287 | ·················InpMtx_changeCoordType(mtxA,·INPMTX_BY_CHEVRONS)·;\xd | 287 | ·················InpMtx_changeCoordType(mtxA,·INPMTX_BY_CHEVRONS)·;\xd |
288 | ·················InpMtx_changeStorageMode(mtxA,·INPMTX_BY_VECTORS)·;\xd | 288 | ·················InpMtx_changeStorageMode(mtxA,·INPMTX_BY_VECTORS)·;\xd |
289 | ·················DenseMtx_permuteRows(mtxB,·oldToNewIV)·;\xd | 289 | ·················DenseMtx_permuteRows(mtxB,·oldToNewIV)·;\xd |
290 | ·················The·oldToNewIV·and·newToOldIV·variables·are·IV·objects·that·represent·an·integer·vector.·The·oldToNew\xd | 290 | ·················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\xd | 291 | ·················and·newToOld·variables·are·pointers·to·int,·which·point·to·the·base·address·of·the·int·vector·in·an·IV\xd |
292 | ·················object.\xd | 292 | ·················object.\xd |
293 | ···················3IVL·stands·for·Integer·Vector·List,·i.e.,·a·list·of·integer·vectors.\xd | 293 | ···················3IVL·stands·for·Integer·Vector·List,·i.e.,·a·list·of·integer·vectors.\xd |
294 | ·················10·········SPOOLES2.2—SolvingLinearSystems············································· | 294 | ·················10·········SPOOLES2.2—SolvingLinearSystems·············································February·13,·2025\xd |
295 | ····················Once·we·have·the·permutation·vector,·we·apply·it·to·the·front·tree,·by·the·ETree·permuteVertices()\xd | 295 | ····················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\xd | 296 | ·················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,\xd | 297 | ·················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\xd | 298 | ·················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\xd | 299 | ·················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\xd | 300 | ·················matrix·destroys·the·internal·vector·structure,·which·has·to·be·restored.·But·first·we·need·to·change·the\xd |
301 | ················································································4\xd | 301 | ················································································4\xd |
Offset 330, 15 lines modified | Offset 330, 15 lines modified | ||
Max diff block lines reached; 46909/60769 bytes (77.19%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·BKL.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·BKL.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2555, 19 lines modified | Offset 2555, 21 lines modified | ||
2555 | end·readonly·def | 2555 | end·readonly·def |
2556 | /Encoding·256·array | 2556 | /Encoding·256·array |
2557 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2557 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2558 | dup·44·/comma·put | 2558 | dup·44·/comma·put |
2559 | dup·48·/zero·put | 2559 | dup·48·/zero·put |
2560 | dup·49·/one·put | 2560 | dup·49·/one·put |
2561 | dup·50·/two·put | 2561 | dup·50·/two·put |
2562 | dup·51·/three·put | ||
2562 | dup·5 | 2563 | dup·53·/five·put |
2563 | dup·58·/colon·put | 2564 | dup·58·/colon·put |
2564 | dup·7 | 2565 | dup·70·/F·put |
2565 | dup·97·/a·put | 2566 | dup·97·/a·put |
2567 | dup·98·/b·put | ||
2566 | dup·1 | 2568 | dup·101·/e·put |
2567 | dup·114·/r·put | 2569 | dup·114·/r·put |
2568 | dup·117·/u·put | 2570 | dup·117·/u·put |
2569 | dup·121·/y·put | 2571 | dup·121·/y·put |
2570 | readonly·def | 2572 | readonly·def |
2571 | currentdict·end | 2573 | currentdict·end |
2572 | currentfile·eexec | 2574 | currentfile·eexec |
2573 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2575 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2751, 83 lines modified | Offset 2753, 94 lines modified | ||
2751 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2753 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2752 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2754 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2753 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2755 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2754 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2756 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2755 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2757 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2756 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2758 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2757 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2759 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2758 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2760 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2759 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2760 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2761 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2762 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2763 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2764 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2765 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2766 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2767 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2768 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2769 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2770 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2771 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2772 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2773 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2774 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2775 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2776 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2777 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2778 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2779 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2780 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2781 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2782 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2783 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2784 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2785 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2786 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2787 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2788 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2789 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2790 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2791 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2792 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2793 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2794 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2795 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2796 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2797 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2798 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2799 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2800 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2801 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2802 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2803 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2804 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2805 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2806 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2807 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2808 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2809 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2810 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2811 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2812 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2813 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2814 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2815 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2816 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2817 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2818 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2819 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2820 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2821 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2822 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2823 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2824 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2825 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2826 | 2761 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2762 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2763 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2764 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2765 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2766 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2767 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2768 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2769 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2770 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2771 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2772 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2773 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2774 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 6225/17767 bytes (35.04%) of diff not shown. |
Offset 18, 15 lines modified | Offset 18, 15 lines modified | ||
18 | ·············•·int·ngaineval·:·number·of·gain·evaluations,·roughly·equivalent·to·the·number·of·degree\xd | 18 | ·············•·int·ngaineval·:·number·of·gain·evaluations,·roughly·equivalent·to·the·number·of·degree\xd |
19 | ···············evaluations·in·the·minimum·degree·algorithm\xd | 19 | ···············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\xd | 20 | ·············•·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.\xd | 21 | ···············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\xd | 22 | ·············•·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\xd | 23 | ···············separator,·cweights[1]·and·cweights[2]·contains·the·weights·of·the·two·components\xd |
24 | ·············································1\xd | 24 | ·············································1\xd |
25 | ·············2····························BKL·:·DRAFT· | 25 | ·············2····························BKL·:·DRAFT·February·13,·2025\xd |
26 | ················•·int·*regwghts·:·pointer·to·an·int·vector·of·size·nreg,·used·to·store·the·weights·of·the\xd | 26 | ················•·int·*regwghts·:·pointer·to·an·int·vector·of·size·nreg,·used·to·store·the·weights·of·the\xd |
27 | ··················domains·and·segments\xd | 27 | ··················domains·and·segments\xd |
28 | ················•·float·alpha·:·number·used·to·store·the·partition·evaluation·parameter,·the·cost·of·the\xd | 28 | ················•·float·alpha·:·number·used·to·store·the·partition·evaluation·parameter,·the·cost·of·the\xd |
29 | ··················partition·is\xd | 29 | ··················partition·is\xd |
30 | ··················balance·=·max(cweights[1],·cweights[2])/min(cweights[1],·cweights[2])·;\xd | 30 | ··················balance·=·max(cweights[1],·cweights[2])/min(cweights[1],·cweights[2])·;\xd |
31 | ··················cost····=·cweights[0]*(1.·+·alpha*balance)·;\xd | 31 | ··················cost····=·cweights[0]*(1.·+·alpha*balance)·;\xd |
32 | ·············1.2····Prototypes·and·descriptions·of·BKL·methods\xd | 32 | ·············1.2····Prototypes·and·descriptions·of·BKL·methods\xd |
Offset 47, 15 lines modified | Offset 47, 15 lines modified | ||
47 | ··················This·method·clears·any·data·allocated·by·the·object,·namely·the·colors·and·regwghts·vec-\xd | 47 | ··················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().\xd | 48 | ··················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.\xd | 49 | ··················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
50 | ···············4.·void·BKL_free·(·BKL·*bkl·)·;\xd | 50 | ···············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\xd | 51 | ··················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().\xd | 52 | ··················the·structure·with·a·call·to·free().\xd |
53 | ··················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 53 | ··················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
54 | ·······································BKL·:·DRAFT·· | 54 | ·······································BKL·:·DRAFT··February·13,·2025····················3\xd |
55 | ············1.3.1··Initializer·methods\xd | 55 | ············1.3.1··Initializer·methods\xd |
56 | ···············1.·void·BKL_init·(·BKL·*bkl,·BPG·*bpg,·float·alpha·)·;\xd | 56 | ···············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-\xd | 57 | ·················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,\xd | 58 | ·················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[]\xd | 59 | ·················nseg·and·nreg·scalars·are·set,·the·regwghts[]·vector·allocated·and·filled,·and·the·colors[]\xd |
60 | ·················vector·allocated·and·filled·with·zeros.\xd | 60 | ·················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.\xd | 61 | ·················Error·checking:·If·bkl·or·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
Offset 84, 15 lines modified | Offset 84, 15 lines modified | ||
84 | ·················This·method·returns·the·next·domain·id·in·a·grey·code·sequence,·used·to·exhaustively·search\xd | 84 | ·················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\xd | 85 | ·················of·a·subspace·of·partitions·defined·by·set·of·candidate·domains·to·flip.·The·value·count\xd |
86 | ·················ranges·from·1·to·2ndom.\xd | 86 | ·················ranges·from·1·to·2ndom.\xd |
87 | ·················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 87 | ·················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[]·)·;\xd | 88 | ···············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\xd | 89 | ·················This·method·sets·the·initial·partition·by·coloring·the·domains·and·segments.·The·flag\xd |
90 | ·················parameter·has·the·following·values.\xd | 90 | ·················parameter·has·the·following·values.\xd |
91 | ··············4···························· | 91 | ··············4····························BKL·:·DRAFT·February·13,·2025\xd |
92 | ·····················•·flag·=·1·−→·random·coloring·of·the·domains\xd | 92 | ·····················•·flag·=·1·−→·random·coloring·of·the·domains\xd |
93 | ·····················•·flag·=·2·−→·one·black·domain,·(seed·%·ndom),·rest·are·white\xd | 93 | ·····················•·flag·=·2·−→·one·black·domain,·(seed·%·ndom),·rest·are·white\xd |
94 | ·····················•·flag·=·3·−→·one·black·pseudoperipheral·domain,·found·using·domain·(seed·%·ndom)\xd | 94 | ·····················•·flag·=·3·−→·one·black·pseudoperipheral·domain,·found·using·domain·(seed·%·ndom)\xd |
95 | ·······················as·root,·rest·are·white\xd | 95 | ·······················as·root,·rest·are·white\xd |
96 | ·····················•·flag·=·4·−→·roughly·half-half·split,·breadth·first·search·of·domains,·(seed·%·ndom)·as\xd | 96 | ·····················•·flag·=·4·−→·roughly·half-half·split,·breadth·first·search·of·domains,·(seed·%·ndom)·as\xd |
97 | ·······················root\xd | 97 | ·······················root\xd |
98 | ·····················•·flag·=·5·−→·roughly·half-half·split,·breadth·first·search·of·domains,·(seed·%·ndom)·as\xd | 98 | ·····················•·flag·=·5·−→·roughly·half-half·split,·breadth·first·search·of·domains,·(seed·%·ndom)·as\xd |
Offset 119, 15 lines modified | Offset 119, 15 lines modified | ||
119 | ···················The·|S|,·|B|·and·|W|·values·are·taken·from·the·cweights[]·vector.·If·min(|B|,|W|)·>·0,·this\xd | 119 | ···················The·|S|,·|B|·and·|W|·values·are·taken·from·the·cweights[]·vector.·If·min(|B|,|W|)·>·0,·this\xd |
120 | ···················function·returns··············\x12···················\x13\xd | 120 | ···················function·returns··············\x12···················\x13\xd |
121 | ··············································|S|·1+α∗max(|B|,|W|)·,\xd | 121 | ··············································|S|·1+α∗max(|B|,|W|)·,\xd |
122 | ·························································min(|B|,|W|)\xd | 122 | ·························································min(|B|,|W|)\xd |
123 | ···················································2\xd | 123 | ···················································2\xd |
124 | ···················otherwise·it·returns·(|S|·+·|B|·+·|W|)·.\xd | 124 | ···················otherwise·it·returns·(|S|·+·|B|·+·|W|)·.\xd |
125 | ···················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 125 | ···················Error·checking:·If·bkl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
126 | ··················································· | 126 | ···················································BKL·:·DRAFT·······February·13,·2025································5\xd |
127 | ···················3.·float·BKL_eval·(·BKL·*bkl,·int·Sweight,·int·Bweight,·int·Wweight·)·;\xd | 127 | ···················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.\xd | 128 | ······················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\xd | 129 | ······················If·min(|B|,|W|)·>·0,·this·function·returns\xd |
130 | ························································|S|\x121+α∗·max(|B|,|W|)\x13,\xd | 130 | ························································|S|\x121+α∗·max(|B|,|W|)\x13,\xd |
131 | ·····································································min(|B|,|W|)\xd | 131 | ·····································································min(|B|,|W|)\xd |
132 | ······························································2\xd | 132 | ······························································2\xd |
133 | ······················otherwise·it·returns·(|S|·+·|B|·+·|W|)·.·The·method·checks·that·bkl·is·not·NULL.\xd | 133 | ······················otherwise·it·returns·(|S|·+·|B|·+·|W|)·.·The·method·checks·that·bkl·is·not·NULL.\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·BPG.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·BPG.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1427, 19 lines modified | Offset 1427, 21 lines modified | ||
1427 | end·readonly·def | 1427 | end·readonly·def |
1428 | /Encoding·256·array | 1428 | /Encoding·256·array |
1429 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1429 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1430 | dup·44·/comma·put | 1430 | dup·44·/comma·put |
1431 | dup·48·/zero·put | 1431 | dup·48·/zero·put |
1432 | dup·49·/one·put | 1432 | dup·49·/one·put |
1433 | dup·50·/two·put | 1433 | dup·50·/two·put |
1434 | dup·51·/three·put | ||
1434 | dup·5 | 1435 | dup·53·/five·put |
1435 | dup·58·/colon·put | 1436 | dup·58·/colon·put |
1436 | dup·7 | 1437 | dup·70·/F·put |
1437 | dup·97·/a·put | 1438 | dup·97·/a·put |
1439 | dup·98·/b·put | ||
1438 | dup·1 | 1440 | dup·101·/e·put |
1439 | dup·114·/r·put | 1441 | dup·114·/r·put |
1440 | dup·117·/u·put | 1442 | dup·117·/u·put |
1441 | dup·121·/y·put | 1443 | dup·121·/y·put |
1442 | readonly·def | 1444 | readonly·def |
1443 | currentdict·end | 1445 | currentdict·end |
1444 | currentfile·eexec | 1446 | currentfile·eexec |
1445 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1447 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1623, 83 lines modified | Offset 1625, 94 lines modified | ||
1623 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1625 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1624 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1626 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1625 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1627 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1626 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1628 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1627 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1629 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1628 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1630 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1629 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1631 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1630 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1632 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1631 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1632 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1633 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1634 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1635 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1636 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1637 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1638 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1639 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1640 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1641 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1642 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1643 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1644 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1645 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1646 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1647 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1648 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1649 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1650 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1651 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1652 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1653 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1654 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1655 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1656 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1657 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1658 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1659 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1660 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1661 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1662 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1663 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1664 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1665 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1666 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1667 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1668 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1669 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1670 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1671 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1672 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1673 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1674 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1675 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1676 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1677 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1678 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1679 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1680 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1681 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1682 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1683 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1684 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1685 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1686 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1687 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1688 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1689 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1690 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1691 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1692 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1693 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1694 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1695 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1696 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1697 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1698 | 1633 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1634 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1635 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1636 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1637 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1638 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1639 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1640 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1641 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1642 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1643 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1644 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1645 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1646 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 17285/28827 bytes (59.96%) of diff not shown. |
Offset 29, 15 lines modified | Offset 29, 15 lines modified | ||
29 | ········code·for·the·process·outweighed·(outline’d?)·the·BPG·code·for·the·data.·Now·if·someone·wants·to·modify\xd | 29 | ········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\xd | 30 | ········(and·hopefully·improve)·the·Kernighan-Lin·process,·they·won’t·alter·the·behavior·of·the·bipartite·graph\xd |
31 | ········object.\xd | 31 | ········object.\xd |
32 | ·········Finding·the·Dulmage-Mendelsohn·decomposition·of·a·bipartite·graph·is·a·little·less·clear·cut.·When·the\xd | 32 | ·········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.\xd | 33 | ········vertices·in·the·bipartite·graph·have·unit·weight,·the·process·is·straightforward.\xd |
34 | ·········•·Find·a·maximum·matching.\xd | 34 | ·········•·Find·a·maximum·matching.\xd |
35 | ·······························1\xd | 35 | ·······························1\xd |
36 | ········2················BPG·:·DRAFT· | 36 | ········2················BPG·:·DRAFT·February·13,·2025\xd |
37 | ·········•·Drop·an·alternating·level·structure·from·exposed·nodes·in·X.\xd | 37 | ·········•·Drop·an·alternating·level·structure·from·exposed·nodes·in·X.\xd |
38 | ·········•·Drop·an·alternating·level·structure·from·exposed·nodes·in·Y·.\xd | 38 | ·········•·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\xd | 39 | ·········•·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.\xd | 40 | ··········separator·from·the·pieces.\xd |
41 | ········(If·these·terms·are·not·familiar,·see·[?];·our·present·purpose·is·a·discussion·of·software·design,·not·algorithms.)\xd | 41 | ········(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\xd | 42 | ········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\xd | 43 | ········object·to·include·some·mechanism·for·matching,·e.g.,·a·mate[]·vector.·Finding·a·maximum·matching·is\xd |
Offset 78, 15 lines modified | Offset 78, 15 lines modified | ||
78 | ····················································b\xd | 78 | ····················································b\xd |
79 | ········separator·size.·But,·if·we·consider·S·∪·(Adj(S)·∩·B)·to·be·a·wide·separator,·the·resulting·separator·S·need\xd | 79 | ········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\xd | 80 | ········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.\xd | 81 | ········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\xd | 82 | ·········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\xd | 83 | ········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\xd | 84 | ········by·S∪(Adj(S)∩B)·need·not·be·bipartite.·In·other·words,·a·bipartite·induced·graph·necessarily·implies·two\xd |
85 | ············································BPG·:·DRAFT·· | 85 | ············································BPG·:·DRAFT··February·13,·2025························3\xd |
86 | ··············layers·to·the·wide·separator,·but·the·converse·does·not·hold.·We·were·then·free·to·examine·wide·separators\xd | 86 | ··············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\xd | 87 | ··············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.\xd | 88 | ··············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\xd | 89 | ················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\xd | 90 | ··············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.\xd | 91 | ··············the·two·Dulmage-Mendelsohn·methods·in·the·BPG·object·for·historical·and·sentimental·reasons.\xd |
92 | ··············1.1···Data·Structure\xd | 92 | ··············1.1···Data·Structure\xd |
Offset 110, 15 lines modified | Offset 110, 15 lines modified | ||
110 | ··················This·method·releases·the·storage·for·graph·via·a·call·to·Graph·clearData(),·and·then·the·structure’s\xd | 110 | ··················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().\xd | 111 | ··················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.\xd | 112 | ··················Error·checking:·If·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
113 | ················4.·void·BPG_free·(·BPG·*bpg·)·;\xd | 113 | ················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\xd | 114 | ··················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().\xd | 115 | ··················with·a·call·to·free().\xd |
116 | ··················Error·checking:·If·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 116 | ··················Error·checking:·If·bpg·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
117 | ··············4····························· | 117 | ··············4·····························BPG·:·DRAFT·February·13,·2025\xd |
118 | ··············1.2.2··Initializer·methods\xd | 118 | ··············1.2.2··Initializer·methods\xd |
119 | ··············There·are·two·initializer·methods.\xd | 119 | ··············There·are·two·initializer·methods.\xd |
120 | ················1.·void·BPG_init·(·BPG·*bpg,·int·nX,·int·nY,·Graph·*graph·)·;\xd | 120 | ················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\xd | 121 | ··················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\xd | 122 | ··················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,\xd | 123 | ··················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.\xd | 124 | ··················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 modified | Offset 151, 15 lines modified | ||
151 | ··········································int·mark[],·int·tag·)·;\xd | 151 | ··········································int·mark[],·int·tag·)·;\xd |
152 | ··················This·method·drops·a·level·structure·from·vertex·root,·fills·the·dist[]·vector·with·the·distances·from\xd | 152 | ··················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\xd | 153 | ··················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\xd | 154 | ··················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.\xd | 155 | ··················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\xd | 156 | ··················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.\xd | 157 | ··················is·printed·and·the·program·exits.\xd |
158 | ··················································· | 158 | ···················································BPG·:·DRAFT·····February·13,·2025·······························5\xd |
159 | ················1.2.5····Dulmage-Mendelsohn·decomposition·method\xd | 159 | ················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\xd | 160 | ················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\xd | 161 | ················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.\xd | 162 | ················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.\xd | 163 | ················This·has·largely·been·superceded·by·the·Network·object.\xd |
164 | ··················1.·void·BPG_DMdecomposition·(·BPG·*bpg,·int·dmflags[],·int·stats[],\xd | 164 | ··················1.·void·BPG_DMdecomposition·(·BPG·*bpg,·int·dmflags[],·int·stats[],\xd |
165 | ···················································int·msglvl,·FILE·*msgFile·)\xd | 165 | ···················································int·msglvl,·FILE·*msgFile·)\xd |
Offset 204, 15 lines modified | Offset 204, 15 lines modified | ||
204 | ·····················the·value·returned·from·the·called·routine.\xd | 204 | ·····················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\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\xd |
206 | ·····················(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd | 206 | ·····················(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd |
207 | ··················2.·int·BPG_readFromFormattedFile·(·BPG·*bpg,·FILE·*fp·)·;\xd | 207 | ··················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\xd | 208 | ·····················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.\xd | 209 | ·····················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.\xd | 210 | ·····················Error·checking:·If·bpg·or·fp·is·NULL·an·error·message·is·printed·and·zero·is·returned.\xd |
211 | ···········6························BPG·:·DRAFT· | 211 | ···········6························BPG·:·DRAFT·February·13,·2025\xd |
212 | ·············3.·int·BPG_readFromBinaryFile·(·BPG·*bpg,·FILE·*fp·)·;\xd | 212 | ·············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\xd | 213 | ···············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.\xd | 214 | ···············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.\xd | 215 | ···············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·)·;\xd | 216 | ·············4.·int·BPG_writeToFile·(·BPG·*bpg,·char·*fn·)·;\xd |
217 | ···············ThismethodwritesaBPGobjecttoafile.·Themethodtriestoopenthefileandifitissuccessful,it·then\xd | 217 | ···············ThismethodwritesaBPGobjecttoafile.·Themethodtriestoopenthefileandifitissuccessful,it·then\xd |
218 | ···············calls·BPG·writeFromFormattedFile()or·BPG·writeFromBinaryFile(),closes·the·file·and·returns·the\xd | 218 | ···············calls·BPG·writeFromFormattedFile()or·BPG·writeFromBinaryFile(),closes·the·file·and·returns·the\xd |
Offset 243, 15 lines modified | Offset 243, 15 lines modified | ||
243 | ···············BPG·writeStats()·method).\xd | 243 | ···············BPG·writeStats()·method).\xd |
244 | ················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means·the·BPG\xd | 244 | ················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means·the·BPG\xd |
245 | ··················object·is·written·to·the·message·file.\xd | 245 | ··················object·is·written·to·the·message·file.\xd |
246 | ················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the·message\xd | 246 | ················•·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.\xd | 247 | ··················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\xd | 248 | ················•·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.\xd | 249 | ··················*.bpgb.·The·BPG·object·is·read·from·the·file·via·the·BPG·readFromFile()·method.\xd |
250 | ············································BPG·:·DRAFT·· | 250 | ············································BPG·:·DRAFT··February·13,·2025························7\xd |
251 | ····················•·The·outFile·parameter·is·the·output·file·for·the·BPG·object.·If·outFile·is·none·then·the·BPG\xd | 251 | ····················•·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\xd | 252 | ······················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\xd | 253 | ······················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).\xd | 254 | ······················form·*.bpgb).\xd |
255 | ················2.·extractBPG·msglvl·msgFile·inGraphFile·inCompidsIVfile\xd | 255 | ················2.·extractBPG·msglvl·msgFile·inGraphFile·inCompidsIVfile\xd |
256 | ···································icomp·outMapFile·outBPGfile\xd | 256 | ···································icomp·outMapFile·outBPGfile\xd |
257 | ··················This·driver·program·reads·in·a·Graph·object·and·an·IV·object·that·contains·the·component·ids.·(A\xd | 257 | ··················This·driver·program·reads·in·a·Graph·object·and·an·IV·object·that·contains·the·component·ids.·(A\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·Chv.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·Chv.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2518, 19 lines modified | Offset 2518, 21 lines modified | ||
2518 | end·readonly·def | 2518 | end·readonly·def |
2519 | /Encoding·256·array | 2519 | /Encoding·256·array |
2520 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2520 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2521 | dup·44·/comma·put | 2521 | dup·44·/comma·put |
2522 | dup·48·/zero·put | 2522 | dup·48·/zero·put |
2523 | dup·49·/one·put | 2523 | dup·49·/one·put |
2524 | dup·50·/two·put | 2524 | dup·50·/two·put |
2525 | dup·51·/three·put | ||
2525 | dup·5 | 2526 | dup·53·/five·put |
2526 | dup·58·/colon·put | 2527 | dup·58·/colon·put |
2527 | dup·7 | 2528 | dup·70·/F·put |
2528 | dup·97·/a·put | 2529 | dup·97·/a·put |
2530 | dup·98·/b·put | ||
2529 | dup·1 | 2531 | dup·101·/e·put |
2530 | dup·114·/r·put | 2532 | dup·114·/r·put |
2531 | dup·117·/u·put | 2533 | dup·117·/u·put |
2532 | dup·121·/y·put | 2534 | dup·121·/y·put |
2533 | readonly·def | 2535 | readonly·def |
2534 | currentdict·end | 2536 | currentdict·end |
2535 | currentfile·eexec | 2537 | currentfile·eexec |
2536 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2538 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2714, 83 lines modified | Offset 2716, 94 lines modified | ||
2714 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2716 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2715 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2717 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2716 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2718 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2717 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2719 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2718 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2720 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2719 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2721 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2720 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2722 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2721 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2723 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2722 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2723 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2724 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2725 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2726 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2727 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2728 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2729 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2730 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2731 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2732 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2733 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2734 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2735 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2736 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2737 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2738 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2739 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2740 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2741 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2742 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2743 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2744 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2745 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2746 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2747 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2748 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2749 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2750 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2751 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2752 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2753 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2754 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2755 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2756 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2757 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2758 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2759 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2760 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2761 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2762 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2763 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2764 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2765 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2766 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2767 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2768 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2769 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2770 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2771 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2772 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2773 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2774 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2775 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2776 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2777 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2778 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2779 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2780 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2781 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2782 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2783 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2784 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2785 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2786 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2787 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2788 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2789 | 2724 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2725 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2726 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2727 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2728 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2729 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2730 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2731 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2732 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2733 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2734 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2735 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2736 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2737 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 43219/54761 bytes (78.92%) of diff not shown. |
Offset 23, 15 lines modified | Offset 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\xd | 23 | ·························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\xd | 24 | ·························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\xd | 25 | ·························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\xd | 26 | ·························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.\xd | 27 | ·························the·Chv·object·to·handle·unequal·rows·and·columns.\xd |
28 | ·······························During·a·factorization,·a·front·has·to·take·part·in·four·distinct·operations.\xd | 28 | ·······························During·a·factorization,·a·front·has·to·take·part·in·four·distinct·operations.\xd |
29 | ·······································································································1\xd | 29 | ·······································································································1\xd |
30 | ····························2······························································· | 30 | ····························2·······························································Chv·:·DRAFT·February·13,·2025\xd |
31 | ··································1.·Assemble·entries·from·the·original·matrix·(or·matrix·pencil).·(See·the·Chv·addChevron()\xd | 31 | ··································1.·Assemble·entries·from·the·original·matrix·(or·matrix·pencil).·(See·the·Chv·addChevron()\xd |
32 | ·······································method.)\xd | 32 | ·······································method.)\xd |
33 | ··································2.·Accumulate·updates·from·descendant·fronts.·(See·the·Chv·update{S,H,N}()·methods.)\xd | 33 | ··································2.·Accumulate·updates·from·descendant·fronts.·(See·the·Chv·update{S,H,N}()·methods.)\xd |
34 | ··································3.·Assembleanypostponeddatafromitschildrenfronts.·(SeetheChv·assemblePostponedData()\xd | 34 | ··································3.·Assembleanypostponeddatafromitschildrenfronts.·(SeetheChv·assemblePostponedData()\xd |
35 | ·······································method.)\xd | 35 | ·······································method.)\xd |
36 | ··································4.·Computethefactorization·ofthecompletely·assembledfront.·(SeetheChv·factor()method.)\xd | 36 | ··································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\xd | 37 | ···································The·implementor·of·a·front·object·has·a·great·deal·of·freedom·to·design·the·underlying·data\xd |
Offset 65, 15 lines modified | Offset 65, 15 lines modified | ||
65 | ····························defineitsrowsandcolumns.·ForasymmetricorHermitianmatrix,·weonlystorethecolumnindices.\xd | 65 | ····························defineitsrowsandcolumns.·ForasymmetricorHermitianmatrix,·weonlystorethecolumnindices.\xd |
66 | ····························For·a·nonsymmetric·matrix,·we·store·the·both·the·row·and·column·indices.·This·second·case·may\xd | 66 | ····························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,\xd | 67 | ····························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\xd | 68 | ····························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.\xd | 69 | ····························(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\xd | 70 | ···································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”\xd | 71 | ····························one·thread·or·process·“owns”·or·operates·on·a·particular·Chv·object.·A·Chv·object·is·an·“atom”\xd |
72 | ······································Chv·:·DRAFT·· | 72 | ······································Chv·:·DRAFT···February·13,·2025···················3\xd |
73 | ············of·communication.·It·stores·postponed·rows·and·columns·to·be·assembled·in·a·parent·front.·It\xd | 73 | ············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\xd | 74 | ············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\xd | 75 | ············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,\xd | 76 | ············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\xd | 77 | ············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\xd | 78 | ············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.\xd | 79 | ············defining·a·new·datatype.·Managing·working·storage·for·a·number·of·Chv·objects·is·now·simpler.\xd |
Offset 100, 15 lines modified | Offset 100, 15 lines modified | ||
100 | ···············•·int·symflag·:·symmetry·flag\xd | 100 | ···············•·int·symflag·:·symmetry·flag\xd |
101 | ···················–·SPOOLES·SYMMETRIC·=⇒·symmetric·entries\xd | 101 | ···················–·SPOOLES·SYMMETRIC·=⇒·symmetric·entries\xd |
102 | ···················–·SPOOLES·HERMITIAN·=⇒·Hermitian·entries\xd | 102 | ···················–·SPOOLES·HERMITIAN·=⇒·Hermitian·entries\xd |
103 | ···················–·SPOOLES·NONSYMMETRIC·=⇒·nonsymmetric·entries\xd | 103 | ···················–·SPOOLES·NONSYMMETRIC·=⇒·nonsymmetric·entries\xd |
104 | ···············•·int·*rowind·:·pointer·to·the·base·address·of·the·int·vector·that·contains·row·indices.\xd | 104 | ···············•·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.\xd | 105 | ···············•·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.\xd | 106 | ···············•·double·*entries:·pointer·to·the·base·address·of·the·double·vector·that·contains·the·entries.\xd |
107 | ··············4···························· | 107 | ··············4····························Chv·:·DRAFT·February·13,·2025\xd |
108 | ·················•·DV·wrkDV·:·object·that·manages·the·owned·working·storage.\xd | 108 | ·················•·DV·wrkDV·:·object·that·manages·the·owned·working·storage.\xd |
109 | ·················•·Chv·*next·:·link·to·a·next·object·in·a·singly·linked·list.\xd | 109 | ·················•·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.\xd | 110 | ·················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.\xd | 111 | ·················•·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.\xd | 112 | ·················•·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.\xd | 113 | ·················•·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.\xd | 114 | ·················•·CHV·IS·HERMITIAN(chv)·is·1·if·chv·is·Hermitian·and·0·otherwise.\xd |
Offset 131, 15 lines modified | Offset 131, 15 lines modified | ||
131 | ··················This·method·clears·the·object·and·free’s·any·owned·data·by·invoking·the·clearData()\xd | 131 | ··················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().\xd | 132 | ··················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.\xd | 133 | ··················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
134 | ················4.·void·Chv_free·(·Chv·*chv·)·;\xd | 134 | ················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\xd | 135 | ··················This·method·releases·any·storage·by·a·call·to·Chv·clearData()·and·then·free·the·space·for\xd |
136 | ··················chv.\xd | 136 | ··················chv.\xd |
137 | ··················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 137 | ··················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
138 | ··············································Chv·:·DRAFT····· | 138 | ··············································Chv·:·DRAFT·····February·13,·2025···························5\xd |
139 | ···············1.2.2···Instance·methods\xd | 139 | ···············1.2.2···Instance·methods\xd |
140 | ·················1.·int·Chv_id·(·Chv·*chv·)·;\xd | 140 | ·················1.·int·Chv_id·(·Chv·*chv·)·;\xd |
141 | ····················This·method·returns·the·id·of·the·object.\xd | 141 | ····················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.\xd | 142 | ····················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
143 | ·················2.·int·Chv_type·(·Chv·*chv·)·;\xd | 143 | ·················2.·int·Chv_type·(·Chv·*chv·)·;\xd |
144 | ····················This·method·returns·the·type·of·the·object.\xd | 144 | ····················This·method·returns·the·type·of·the·object.\xd |
145 | ·······················•·SPOOLES·REAL·=⇒·real·entries\xd | 145 | ·······················•·SPOOLES·REAL·=⇒·real·entries\xd |
Offset 167, 15 lines modified | Offset 167, 15 lines modified | ||
167 | ····················Error·checking:·If·chv,·pncol·or·pcolind·is·NULL,·an·error·message·is·printed·and·zero·is\xd | 167 | ····················Error·checking:·If·chv,·pncol·or·pcolind·is·NULL,·an·error·message·is·printed·and·zero·is\xd |
168 | ····················returned.\xd | 168 | ····················returned.\xd |
169 | ·················7.·int···Chv_nent·(·Chv·*chv·)·;\xd | 169 | ·················7.·int···Chv_nent·(·Chv·*chv·)·;\xd |
170 | ····················This·method·returns·number·of·matrix·entries·that·the·object·contains.·Note,·for·a·complex\xd | 170 | ····················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\xd | 171 | ····················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.\xd | 172 | ····················of·double·precision·entries·that·are·stored.\xd |
173 | ····················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 173 | ····················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
174 | ··············6······························ | 174 | ··············6······························Chv·:·DRAFT·February·13,·2025\xd |
175 | ·················8.·double·*·Chv_entries·(·Chv·*chv·)·;\xd | 175 | ·················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\xd | 176 | ···················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.\xd | 177 | ···················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.\xd | 178 | ···················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·)·;\xd | 179 | ·················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.\xd | 180 | ···················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\xd | 181 | ···················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 modified | Offset 205, 15 lines modified | ||
205 | ················14.·void··Chv_complexEntry·(·Chv·*chv,·int·irow,·int·jcol,\xd | 205 | ················14.·void··Chv_complexEntry·(·Chv·*chv,·int·irow,·int·jcol,\xd |
206 | ··············································double·*pReal,·double·*pImag·)·;\xd | 206 | ··············································double·*pReal,·double·*pImag·)·;\xd |
207 | ···················This·method·fills·*pReal·with·the·real·part·and·*pImag·with·the·imaginary·part·of·the·the\xd | 207 | ···················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·<\xd | 208 | ···················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.\xd | 209 | ···················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\xd | 210 | ···················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.\xd | 211 | ···················message·is·printed·and·the·program·exits.\xd |
212 | ············································ | 212 | ············································Chv·:·DRAFT·····February·13,·2025·························7\xd |
213 | ················15.·Chv_locationOfComplexEntry·(·Chv·*chv,·int·irow,·int·jcol,\xd | 213 | ················15.·Chv_locationOfComplexEntry·(·Chv·*chv,·int·irow,·int·jcol,\xd |
214 | ···················································double·**ppReal,·double·**ppImag·)·;\xd | 214 | ···················································double·**ppReal,·double·**ppImag·)·;\xd |
215 | ···················This·method·fills·*ppReal·with·a·pointer·to·the·real·part·and·*ppImag·with·a·pointer·to·the\xd | 215 | ···················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\xd | 216 | ···················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.\xd | 217 | ···················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\xd | 218 | ···················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.\xd | 219 | ···················message·is·printed·and·the·program·exits.\xd |
Offset 242, 15 lines modified | Offset 242, 15 lines modified | ||
242 | ···················is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 242 | ···················is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
243 | ·················3.·void·Chv_initFromBuffer·(·Chv·*chv·)·;\xd | 243 | ·················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\xd | 244 | ···················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\xd | 245 | ···················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\xd | 246 | ···················sent·and·received,·more·precisely,·the·workspace·buffer·owned·by·the·Chv·object·is·sent·and\xd |
247 | ···················received.\xd | 247 | ···················received.\xd |
248 | ···················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 248 | ···················Error·checking:·If·chv·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
249 | ···············8································ | 249 | ···············8································Chv·:·DRAFT·February·13,·2025\xd |
250 | ···············1.2.4···Search·methods\xd | 250 | ···············1.2.4···Search·methods\xd |
251 | ··················1.·int·Chv_maxabsInDiagonal11·(·Chv·*chv,·int·mark[],·int·tag,·double·*pmaxval·)·;\xd | 251 | ··················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\xd | 252 | ·····················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\xd | 253 | ·····················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\xd | 254 | ·····················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,...),\xd | 255 | ·····················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].\xd | 256 | ·····················then·the·complex·entry·is·found·in·chv->entries[2*kk:2*kk+1].\xd |
Offset 281, 15 lines modified | Offset 281, 15 lines modified | ||
281 | ·····················in·*pmaxval.·Note,·if·the·chevron·is·complex,·the·location·is·in·terms·of·the·complex·entries,\xd | 281 | ·····················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\xd | 282 | ·····················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].\xd | 283 | ·····················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\xd | 284 | ·····················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.\xd | 285 | ·····················the·program·exits.\xd |
286 | ··················5.·int·Chv_maxabsInColumn·(·Chv·*chv,·int·jcol,·int·rowmark[],\xd | 286 | ··················5.·int·Chv_maxabsInColumn·(·Chv·*chv,·int·jcol,·int·rowmark[],\xd |
287 | ··················································int·tag,·double·*pmaxval·)·;\xd | 287 | ··················································int·tag,·double·*pmaxval·)·;\xd |
288 | ···············································Chv·:·DRAFT····· | 288 | ···············································Chv·:·DRAFT·····February·13,·2025····························9\xd |
289 | ····················This·method·returns·the·location·of·the·first·element·with·the·largest·magnitude·in·column\xd | 289 | ····················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\xd | 290 | ····················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,\xd | 291 | ····················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\xd | 292 | ····················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].\xd | 293 | ····················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\xd | 294 | ····················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.\xd | 295 | ····················the·program·exits.\xd |
Max diff block lines reached; 19823/31974 bytes (62.00%) of diff not shown. |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·ChvList.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·ChvList.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1762, 19 lines modified | Offset 1762, 21 lines modified | ||
1762 | end·readonly·def | 1762 | end·readonly·def |
1763 | /Encoding·256·array | 1763 | /Encoding·256·array |
1764 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1764 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1765 | dup·44·/comma·put | 1765 | dup·44·/comma·put |
1766 | dup·48·/zero·put | 1766 | dup·48·/zero·put |
1767 | dup·49·/one·put | 1767 | dup·49·/one·put |
1768 | dup·50·/two·put | 1768 | dup·50·/two·put |
1769 | dup·51·/three·put | ||
1769 | dup·5 | 1770 | dup·53·/five·put |
1770 | dup·58·/colon·put | 1771 | dup·58·/colon·put |
1771 | dup·7 | 1772 | dup·70·/F·put |
1772 | dup·97·/a·put | 1773 | dup·97·/a·put |
1774 | dup·98·/b·put | ||
1773 | dup·1 | 1775 | dup·101·/e·put |
1774 | dup·114·/r·put | 1776 | dup·114·/r·put |
1775 | dup·117·/u·put | 1777 | dup·117·/u·put |
1776 | dup·121·/y·put | 1778 | dup·121·/y·put |
1777 | readonly·def | 1779 | readonly·def |
1778 | currentdict·end | 1780 | currentdict·end |
1779 | currentfile·eexec | 1781 | currentfile·eexec |
1780 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1782 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1958, 83 lines modified | Offset 1960, 94 lines modified | ||
1958 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1960 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1959 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1961 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1960 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1962 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1961 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1963 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1962 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1964 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1963 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1965 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1964 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1966 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1965 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1967 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1966 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1967 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1968 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1969 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1970 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1971 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1972 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1973 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1974 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1975 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1976 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1977 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1978 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1979 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1980 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1981 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1982 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1983 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1984 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1985 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1986 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1987 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1988 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1989 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1990 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1991 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1992 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1993 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1994 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1995 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1996 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1997 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1998 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1999 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2000 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2001 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2002 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2003 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2004 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2005 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2006 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2007 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2008 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2009 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2010 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2011 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2012 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2013 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2014 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2015 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2016 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2017 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2018 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2019 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2020 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2021 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2022 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2023 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2024 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2025 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2026 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2027 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2028 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2029 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2030 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2031 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2032 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2033 | 1968 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1969 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1970 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1971 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1972 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1973 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1974 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1975 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1976 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1977 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1978 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1979 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1980 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1981 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 7405/18951 bytes (39.07%) of diff not shown. |
Offset 22, 15 lines modified | Offset 22, 15 lines modified | ||
22 | ·······The·first·two·operations·are·queries,·and·can·be·done·without·locking·the·list.·The·third·operation\xd | 22 | ·······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\xd | 23 | ·······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\xd | 24 | ·······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.\xd | 25 | ·······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\xd | 26 | ·········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.\xd | 27 | ·······a·serial·factorization·nor·a·MPI·factorization.·In·the·latter·case·there·is·one·ChvList·per·process.\xd |
28 | ·····························1\xd | 28 | ·····························1\xd |
29 | ··············2·························· | 29 | ··············2··························ChvList·:·DRAFT·February·13,·2025\xd |
30 | ··············For·a·multithreaded·factorization·there·is·one·ChvList·object·that·is·shared·by·all·threads.·The\xd | 30 | ··············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\xd | 31 | ··············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\xd | 32 | ··············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\xd | 33 | ··············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\xd | 34 | ··············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.\xd | 35 | ··············some·modifications·to·the·Lock·object,·but·none·to·the·ChvList·objects.\xd |
36 | ··············1.1···Data·Structure\xd | 36 | ··············1.1···Data·Structure\xd |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | ················1.·ChvList·*·ChvList_new·(·void·)·;\xd | 52 | ················1.·ChvList·*·ChvList_new·(·void·)·;\xd |
53 | ··················This·method·simply·allocates·storage·for·the·ChvList·structure·and·then·sets·the·default\xd | 53 | ··················This·method·simply·allocates·storage·for·the·ChvList·structure·and·then·sets·the·default\xd |
54 | ··················fields·by·a·call·to·ChvList·setDefaultFields().\xd | 54 | ··················fields·by·a·call·to·ChvList·setDefaultFields().\xd |
55 | ················2.·void·ChvList_setDefaultFields·(·ChvList·*list·)·;\xd | 55 | ················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,\xd | 56 | ··················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·.\xd | 57 | ··················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.\xd | 58 | ··················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
59 | ·····································ChvList·:·DRAFT·· | 59 | ·····································ChvList·:·DRAFT··February·13,·2025···················3\xd |
60 | ···············3.·void·ChvList_clearData·(·ChvList·*list·)·;\xd | 60 | ···············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\xd | 61 | ·················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\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\xd |
63 | ·················via·a·call·to·IVfree().·If·flags·is·not·NULL,·it·is·free’d·via·a·call·to·CVfree().·If·the\xd | 63 | ·················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\xd | 64 | ·················lock·is·not·NULL,·it·is·destroyed·via·a·call·to·Lock·free().·There·is·a·concluding·call·to\xd |
65 | ·················ChvList·setDefaultFields().\xd | 65 | ·················ChvList·setDefaultFields().\xd |
66 | ·················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 66 | ·················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd | 87 | ·················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.\xd | 88 | ·················is·printed·and·zero·is·returned.\xd |
89 | ···············2.·int·ChvList_isCountZero·(·ChvList·*list,·int·ilist·)·;\xd | 89 | ···············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\xd | 90 | ·················If·counts·is·NULL,·or·if·counts[ilist]·equal·to·zero,·the·method·returns·1.·Otherwise,·the\xd |
91 | ·················method·returns·0.\xd | 91 | ·················method·returns·0.\xd |
92 | ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd | 92 | ·················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.\xd | 93 | ·················is·printed·and·zero·is·returned.\xd |
94 | ··············4·························· | 94 | ··············4··························ChvList·:·DRAFT·February·13,·2025\xd |
95 | ················3.·Chv·*·ChvList_getList·(·ChvList·*list,·int·ilist·)·;\xd | 95 | ················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\xd | 96 | ··················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.\xd | 97 | ··················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\xd | 98 | ··················If·the·list·was·locked,·the·number·of·locks·is·incremented·and·the·lock·unlocked.·The·saved\xd |
99 | ··················pointer·is·returned.\xd | 99 | ··················pointer·is·returned.\xd |
100 | ··················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd | 100 | ··················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.\xd | 101 | ··················is·printed·and·zero·is·returned.\xd |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·ChvManager.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·ChvManager.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1159, 19 lines modified | Offset 1159, 21 lines modified | ||
1159 | end·readonly·def | 1159 | end·readonly·def |
1160 | /Encoding·256·array | 1160 | /Encoding·256·array |
1161 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1161 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1162 | dup·44·/comma·put | 1162 | dup·44·/comma·put |
1163 | dup·48·/zero·put | 1163 | dup·48·/zero·put |
1164 | dup·49·/one·put | 1164 | dup·49·/one·put |
1165 | dup·50·/two·put | 1165 | dup·50·/two·put |
1166 | dup·51·/three·put | ||
1166 | dup·5 | 1167 | dup·53·/five·put |
1167 | dup·58·/colon·put | 1168 | dup·58·/colon·put |
1168 | dup·7 | 1169 | dup·70·/F·put |
1169 | dup·97·/a·put | 1170 | dup·97·/a·put |
1171 | dup·98·/b·put | ||
1170 | dup·1 | 1172 | dup·101·/e·put |
1171 | dup·114·/r·put | 1173 | dup·114·/r·put |
1172 | dup·117·/u·put | 1174 | dup·117·/u·put |
1173 | dup·121·/y·put | 1175 | dup·121·/y·put |
1174 | readonly·def | 1176 | readonly·def |
1175 | currentdict·end | 1177 | currentdict·end |
1176 | currentfile·eexec | 1178 | currentfile·eexec |
1177 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1179 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1355, 83 lines modified | Offset 1357, 94 lines modified | ||
1355 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1357 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1356 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1358 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1357 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1359 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1358 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1360 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1359 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1361 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1360 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1362 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1361 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1363 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1362 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1364 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1363 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1364 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1365 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1366 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1367 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1368 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1369 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1370 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1371 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1372 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1373 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1374 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1375 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1376 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1377 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1378 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1379 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1380 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1381 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1382 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1383 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1384 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1385 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1386 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1387 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1388 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1389 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1390 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1391 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1392 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1393 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1394 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1395 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1396 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1397 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1398 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1399 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1400 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1401 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1402 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1403 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1404 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1405 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1406 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1407 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1408 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1409 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1410 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1411 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1412 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1413 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1414 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1415 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1416 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1417 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1418 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1419 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1420 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1421 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1422 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1423 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1424 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1425 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1426 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1427 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1428 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1429 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1430 | 1365 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1366 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1367 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1368 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1369 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1370 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1371 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1372 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1373 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1374 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1375 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1376 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1377 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1378 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 6791/18340 bytes (37.03%) of diff not shown. |
Offset 23, 15 lines modified | Offset 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\xd | 23 | ····················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\xd | 24 | ····················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.\xd | 25 | ····················is·placed·on·the·free·pool.\xd |
26 | ···············For·the·factorization,·serial,·multithreaded·or·MPI,·we·recommend·using·the·recycling·mode.\xd | 26 | ···············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\xd | 27 | ··················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\xd | 28 | ···············per·thread,·or·should·all·the·threads·share·one·object?·We·have·chosen·the·latter·course,·but·this\xd |
29 | ····························································1\xd | 29 | ····························································1\xd |
30 | ··············2··························DChvList·:·DRAFT· | 30 | ··············2··························DChvList·:·DRAFT·February·13,·2025\xd |
31 | ··············requires·that·a·lock·be·present·to·guard·the·critical·section·of·code·where·one·searches·or·adds·an\xd | 31 | ··············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\xd | 32 | ··············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\xd | 33 | ··············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.\xd | 34 | ··············the·Lock,·but·none·to·the·manager·object.\xd |
35 | ·················Each·manager·object·keeps·track·of·certain·statistics,·bytes·in·their·workspaces,·the·total\xd | 35 | ·················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\xd | 36 | ··············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.\xd | 37 | ··············the·number·of·locks·and·unlocks.\xd |
Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
54 | ··············ChvManager·object.\xd | 54 | ··············ChvManager·object.\xd |
55 | ··············1.2.1··Basic·methods\xd | 55 | ··············1.2.1··Basic·methods\xd |
56 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 56 | ··············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.\xd | 57 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
58 | ················1.·ChvManager·*·ChvManager_new·(·void·)·;\xd | 58 | ················1.·ChvManager·*·ChvManager_new·(·void·)·;\xd |
59 | ··················This·method·simply·allocates·storage·for·the·ChvManager·structure·and·then·sets·the·default\xd | 59 | ··················This·method·simply·allocates·storage·for·the·ChvManager·structure·and·then·sets·the·default\xd |
60 | ··················fields·by·a·call·to·ChvManager·setDefaultFields().\xd | 60 | ··················fields·by·a·call·to·ChvManager·setDefaultFields().\xd |
61 | ···································· | 61 | ····································DChvList·:·DRAFT···February·13,·2025··················3\xd |
62 | ···············2.·void·ChvManager_setDefaultFields·(·ChvManager·*manager·)·;\xd | 62 | ···············2.·void·ChvManager_setDefaultFields·(·ChvManager·*manager·)·;\xd |
63 | ·················Thestructure’sfieldsaresettodefaultvalues:·mode,nactive,nbytesactive,nbytesrequested,\xd | 63 | ·················Thestructure’sfieldsaresettodefaultvalues:·mode,nactive,nbytesactive,nbytesrequested,\xd |
64 | ·················nbytesalloc,·nrequests,·nreleases,·nlocks·and·nunlocks·set·to·zero,·and·head·and·lock\xd | 64 | ·················nbytesalloc,·nrequests,·nreleases,·nlocks·and·nunlocks·set·to·zero,·and·head·and·lock\xd |
65 | ·················are·set·to·NULL·.\xd | 65 | ·················are·set·to·NULL·.\xd |
66 | ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 66 | ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
67 | ···············3.·void·ChvManager_clearData·(·ChvManager·*manager·)·;\xd | 67 | ···············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\xd | 68 | ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·Chv·free()·for·each\xd |
Offset 89, 15 lines modified | Offset 89, 15 lines modified | ||
89 | ···············2.·void·ChvManager_releaseObject·(·ChvManager·*manager,·Chv·*chv·)·;\xd | 89 | ···············2.·void·ChvManager_releaseObject·(·ChvManager·*manager,·Chv·*chv·)·;\xd |
90 | ·················This·method·releases·the·chv·instance·into·the·free·pool·of·objects.\xd | 90 | ·················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.\xd | 91 | ·················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·)·;\xd | 92 | ···············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\xd | 93 | ·················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.\xd | 94 | ·················is·the·chv·instance.\xd |
95 | ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 95 | ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
96 | ··············4··························DChvList·:·DRAFT· | 96 | ··············4··························DChvList·:·DRAFT·February·13,·2025\xd |
97 | ··············1.2.4··IO·methods\xd | 97 | ··············1.2.4··IO·methods\xd |
98 | ················1.·void·ChvManager_writeForHumanEye·(·ChvManager·*manager,·FILE·*fp·)·;\xd | 98 | ················1.·void·ChvManager_writeForHumanEye·(·ChvManager·*manager,·FILE·*fp·)·;\xd |
99 | ··················This·method·writes·the·statistics·to·a·file·in·user·readable·form.\xd | 99 | ··················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.\xd | 100 | ··················Error·checking:·If·manager·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
101 | ·······Index\xd | 101 | ·······Index\xd |
102 | ·······ChvManager·clearData(),·3\xd | 102 | ·······ChvManager·clearData(),·3\xd |
103 | ·······ChvManager·free(),·3\xd | 103 | ·······ChvManager·free(),·3\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·Coords.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·Coords.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1238, 19 lines modified | Offset 1238, 21 lines modified | ||
1238 | end·readonly·def | 1238 | end·readonly·def |
1239 | /Encoding·256·array | 1239 | /Encoding·256·array |
1240 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1240 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1241 | dup·44·/comma·put | 1241 | dup·44·/comma·put |
1242 | dup·48·/zero·put | 1242 | dup·48·/zero·put |
1243 | dup·49·/one·put | 1243 | dup·49·/one·put |
1244 | dup·50·/two·put | 1244 | dup·50·/two·put |
1245 | dup·51·/three·put | ||
1245 | dup·5 | 1246 | dup·53·/five·put |
1246 | dup·58·/colon·put | 1247 | dup·58·/colon·put |
1247 | dup·7 | 1248 | dup·70·/F·put |
1248 | dup·97·/a·put | 1249 | dup·97·/a·put |
1250 | dup·98·/b·put | ||
1249 | dup·1 | 1251 | dup·101·/e·put |
1250 | dup·114·/r·put | 1252 | dup·114·/r·put |
1251 | dup·117·/u·put | 1253 | dup·117·/u·put |
1252 | dup·121·/y·put | 1254 | dup·121·/y·put |
1253 | readonly·def | 1255 | readonly·def |
1254 | currentdict·end | 1256 | currentdict·end |
1255 | currentfile·eexec | 1257 | currentfile·eexec |
1256 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1258 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1434, 83 lines modified | Offset 1436, 94 lines modified | ||
1434 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1436 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1435 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1437 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1436 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1438 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1437 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1439 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1438 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1440 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1439 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1441 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1440 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1442 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1441 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1443 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1442 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1443 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1444 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1445 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1446 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1447 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1448 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1449 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1450 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1451 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1452 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1453 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1454 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1455 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1456 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1457 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1458 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1459 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1460 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1461 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1462 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1463 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1464 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1465 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1466 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1467 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1468 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1469 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1470 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1471 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1472 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1473 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1474 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1475 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1476 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1477 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1478 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1479 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1480 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1481 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1482 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1483 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1484 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1485 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1486 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1487 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1488 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1489 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1490 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1491 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1492 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1493 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1494 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1495 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1496 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1497 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1498 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1499 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1500 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1501 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1502 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1503 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1504 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1505 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1506 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1507 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1508 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1509 | 1444 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1445 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1446 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1447 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1448 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1449 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1450 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1451 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1452 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1453 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1454 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1455 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1456 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1457 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 12664/24209 bytes (52.31%) of diff not shown. |
Offset 18, 15 lines modified | Offset 18, 15 lines modified | ||
18 | ··················1.2·····Prototypes·and·descriptions·of·Coords·methods\xd | 18 | ··················1.2·····Prototypes·and·descriptions·of·Coords·methods\xd |
19 | ··················This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 19 | ··················This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
20 | ··················Coords·object.\xd | 20 | ··················Coords·object.\xd |
21 | ··················1.2.1····Basic·methods\xd | 21 | ··················1.2.1····Basic·methods\xd |
22 | ··················As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 22 | ··················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.\xd | 23 | ··················any·allocated·data,·and·free’ing·the·object.\xd |
24 | ·········································································1\xd | 24 | ·········································································1\xd |
25 | ··············2···························Coords·:·DRAFT· | 25 | ··············2···························Coords·:·DRAFT·February·13,·2025\xd |
26 | ················1.·Coords·*·Coords_new·(·void·)·;\xd | 26 | ················1.·Coords·*·Coords_new·(·void·)·;\xd |
27 | ···················This·method·simply·allocates·storage·for·the·Coords·structure·and·then·sets·the·default·fields\xd | 27 | ···················This·method·simply·allocates·storage·for·the·Coords·structure·and·then·sets·the·default·fields\xd |
28 | ···················by·a·call·to·Coords·setDefaultFields().\xd | 28 | ···················by·a·call·to·Coords·setDefaultFields().\xd |
29 | ················2.·void·Coords_setDefaultFields·(·Coords·*coords·)·;\xd | 29 | ················2.·void·Coords_setDefaultFields·(·Coords·*coords·)·;\xd |
30 | ···················This·method·sets·the·structure’s·fields·are·set·to·default·values:·type·=·COORDS·BY·TUPLE,\xd | 30 | ···················This·method·sets·the·structure’s·fields·are·set·to·default·values:·type·=·COORDS·BY·TUPLE,\xd |
31 | ···················ndim·=·ncoor·=·0·and·coors·=·NULL.\xd | 31 | ···················ndim·=·ncoor·=·0·and·coors·=·NULL.\xd |
32 | ···················Error·checking:·If·coords·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 32 | ···················Error·checking:·If·coords·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
54 | ···················point,·bbox[2]·=·x-coordinate·of·the·northeast·point,·and·bbox[3]·=·y-coordinate·of·the\xd | 54 | ···················point,·bbox[2]·=·x-coordinate·of·the·northeast·point,·and·bbox[3]·=·y-coordinate·of·the\xd |
55 | ···················northeast·point.\xd | 55 | ···················northeast·point.\xd |
56 | ···················Error·checking:·If·coordsbboxisNULL,oriftypeisnotCOORDS·BY·TUPLEorCOORDS·BY·COORD,\xd | 56 | ···················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\xd | 57 | ···················or·if·any·of·n1,·n2·or·ncomp·are·nonpositive,·an·error·message·is·printed·and·the·program\xd |
58 | ···················exits.\xd | 58 | ···················exits.\xd |
59 | ················3.·void·Coords_init27P·(·Coords·*coords,·float·bbox[],·int·type,\xd | 59 | ················3.·void·Coords_init27P·(·Coords·*coords,·float·bbox[],·int·type,\xd |
60 | ·········································int·n1,·int·n2,·int·n3,·int·ncomp·)·;\xd | 60 | ·········································int·n1,·int·n2,·int·n3,·int·ncomp·)·;\xd |
61 | ···········································Coords·:·DRAFT···· | 61 | ···········································Coords·:·DRAFT····February·13,·2025························3\xd |
62 | ···················This·method·initializes·a·Coords·object·for·a·27-point·operator·on·a·n1·×n2·×n3·grid·with\xd | 62 | ···················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\xd | 63 | ···················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\xd | 64 | ···················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\xd | 65 | ···················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-\xd | 66 | ···················of·the·northeast·point,·bbox[4]·=·y-coordinate·of·the·northeast·point,·and·bbox[5]·=·z-\xd |
67 | ···················coordinate·of·the·northeast·point.\xd | 67 | ···················coordinate·of·the·northeast·point.\xd |
68 | ···················Error·checking:·If·coordsbboxisNULL,oriftypeisnotCOORDS·BY·TUPLEorCOORDS·BY·COORD,\xd | 68 | ···················Error·checking:·If·coordsbboxisNULL,oriftypeisnotCOORDS·BY·TUPLEorCOORDS·BY·COORD,\xd |
Offset 94, 15 lines modified | Offset 94, 15 lines modified | ||
94 | ···················does·not·lie·in·the·range·[0,ncoor),·an·error·message·is·printed·and·the·program·exits.\xd | 94 | ···················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·)·;\xd | 95 | ·················5.·void·Coords_setValue·(·Coords·*coords,·int·idim,·int·icoor,·float·val·)·;\xd |
96 | ···················Thismethodsetsthefloatvalueoftheidim-thcoordinateoftheicoor-thgridpoint.·Forex-\xd | 96 | ···················Thismethodsetsthefloatvalueoftheidim-thcoordinateoftheicoor-thgridpoint.·Forex-\xd |
97 | ···················ample,·Coords·setValue(coords,·1,·27,·1.2)·sets·x····=1.2,·Coords·setValue(coords,\xd | 97 | ···················ample,·Coords·setValue(coords,·1,·27,·1.2)·sets·x····=1.2,·Coords·setValue(coords,\xd |
98 | ······································································27\xd | 98 | ······································································27\xd |
99 | ···················2,·16,·3.3)·sets·y··=3.3,·and·Coords·setValue(coords,·3,·118,·0)·sets·z·····=0.\xd | 99 | ···················2,·16,·3.3)·sets·y··=3.3,·and·Coords·setValue(coords,·3,·118,·0)·sets·z·····=0.\xd |
100 | ·····································16·····················································118\xd | 100 | ·····································16·····················································118\xd |
101 | ··············4···························Coords·:·DRAFT· | 101 | ··············4···························Coords·:·DRAFT·February·13,·2025\xd |
102 | ···················Error·checking:·If·coords·is·NULL,·or·if·idim·does·not·lie·in·the·range·[1,ndim],·or·if·icoor\xd | 102 | ···················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.\xd | 103 | ···················does·not·lie·in·the·range·[0,ncoor),·an·error·message·is·printed·and·the·program·exits.\xd |
104 | ··············1.2.4··IO·methods\xd | 104 | ··············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,\xd | 105 | ··············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.\xd | 106 | ··············ncoor·followed·by·the·coors[]·vector.\xd |
107 | ················1.·int·Coords_readFromFile·(·Coords·*coords,·char·*filename·)·;\xd | 107 | ················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\xd | 108 | ···················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 modified | Offset 129, 15 lines modified | ||
129 | ···················This·method·writes·a·Coords·object·to·a·formatted·file.·If·there·are·no·errors·in·writing·the\xd | 129 | ···················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.\xd | 130 | ···················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.\xd | 131 | ···················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·)·;\xd | 132 | ················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\xd | 133 | ···················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.\xd | 134 | ···················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.\xd | 135 | ···················Error·checking:·If·coords·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd |
136 | ·····································Coords·:·DRAFT·· | 136 | ·····································Coords·:·DRAFT··February·13,·2025···················5\xd |
137 | ···············7.·int·Coords_writeForHumanEye·(·Coords·*coords,·FILE·*fp·)·;\xd | 137 | ···············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\xd | 138 | ·················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\xd | 139 | ·················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.\xd | 140 | ·················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.\xd | 141 | ·················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·)·;\xd | 142 | ···············8.·int·Coords_writeStats·(·Coords·*coords,·FILE·*fp·)·;\xd |
143 | ·················The·header·and·statistics·are·written.·The·value·1·is·returned.\xd | 143 | ·················The·header·and·statistics·are·written.·The·value·1·is·returned.\xd |
Offset 164, 15 lines modified | Offset 164, 15 lines modified | ||
164 | ·················This·driver·program·creates·a·Coords·object·for·9-point·finite·difference·operator·on·a·n1×n2\xd | 164 | ·················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.\xd | 165 | ·················grid·and·optionally·writes·it·to·a·file.\xd |
166 | ···················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd | 166 | ···················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd |
167 | ·····················that·all·objects·are·written·to·the·message·file.\xd | 167 | ·····················that·all·objects·are·written·to·the·message·file.\xd |
168 | ···················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 168 | ···················•·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\xd | 169 | ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·message\xd |
170 | ·····················data.\xd | 170 | ·····················data.\xd |
171 | ·······6············· | 171 | ·······6·············Coords·:·DRAFT·February·13,·2025\xd |
172 | ···········•·TheoutCoordsFileparameteristheoutputfilefortheCoordsobject.·IfoutCoordsFile\xd | 172 | ···········•·TheoutCoordsFileparameteristheoutputfilefortheCoordsobject.·IfoutCoordsFile\xd |
173 | ············is·nonethentheCoordsobjectisnotwrittentoafile.·Otherwise,theCoords·writeToFile()\xd | 173 | ············is·nonethentheCoordsobjectisnotwrittentoafile.·Otherwise,theCoords·writeToFile()\xd |
174 | ············method·is·called·to·write·the·object·to·a·formatted·file·(if·outCoordsFile·is·of·the·form\xd | 174 | ············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).\xd | 175 | ············*.coordsf),·or·a·binary·file·(if·outCoordsFile·is·of·the·form·*.coordsb).\xd |
176 | ·······Index\xd | 176 | ·······Index\xd |
177 | ·······Coords·clearData(),·2\xd | 177 | ·······Coords·clearData(),·2\xd |
178 | ·······Coords·free(),·2\xd | 178 | ·······Coords·free(),·2\xd |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·DSTree.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·DSTree.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1408, 19 lines modified | Offset 1408, 21 lines modified | ||
1408 | end·readonly·def | 1408 | end·readonly·def |
1409 | /Encoding·256·array | 1409 | /Encoding·256·array |
1410 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1410 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1411 | dup·44·/comma·put | 1411 | dup·44·/comma·put |
1412 | dup·48·/zero·put | 1412 | dup·48·/zero·put |
1413 | dup·49·/one·put | 1413 | dup·49·/one·put |
1414 | dup·50·/two·put | 1414 | dup·50·/two·put |
1415 | dup·51·/three·put | ||
1415 | dup·5 | 1416 | dup·53·/five·put |
1416 | dup·58·/colon·put | 1417 | dup·58·/colon·put |
1417 | dup·7 | 1418 | dup·70·/F·put |
1418 | dup·97·/a·put | 1419 | dup·97·/a·put |
1420 | dup·98·/b·put | ||
1419 | dup·1 | 1421 | dup·101·/e·put |
1420 | dup·114·/r·put | 1422 | dup·114·/r·put |
1421 | dup·117·/u·put | 1423 | dup·117·/u·put |
1422 | dup·121·/y·put | 1424 | dup·121·/y·put |
1423 | readonly·def | 1425 | readonly·def |
1424 | currentdict·end | 1426 | currentdict·end |
1425 | currentfile·eexec | 1427 | currentfile·eexec |
1426 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1428 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1604, 83 lines modified | Offset 1606, 94 lines modified | ||
1604 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1606 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1605 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1607 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1606 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1608 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1607 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1609 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1608 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1610 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1609 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1611 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1610 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1612 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1611 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1613 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1612 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1613 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1614 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1615 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1616 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1617 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1618 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1619 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1620 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1621 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1622 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1623 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1624 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1625 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1626 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1627 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1628 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1629 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1630 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1631 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1632 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1633 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1634 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1635 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1636 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1637 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1638 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1639 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1640 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1641 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1642 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1643 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1644 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1645 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1646 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1647 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1648 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1649 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1650 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1651 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1652 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1653 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1654 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1655 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1656 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1657 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1658 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1659 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1660 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1661 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1662 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1663 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1664 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1665 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1666 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1667 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1668 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1669 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1670 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1671 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1672 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1673 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1674 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1675 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1676 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1677 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1678 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1679 | 1614 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1615 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1616 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1617 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1618 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1619 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1620 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1621 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1622 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1623 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1624 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1625 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1626 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1627 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 11014/22559 bytes (48.82%) of diff not shown. |
Offset 21, 15 lines modified | Offset 21, 15 lines modified | ||
21 | ···········The·DSTree·object·has·a·very·simple·data·structure.·It·contains·a·Tree·object·to·represent·the\xd | 21 | ···········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\xd | 22 | ···········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.\xd | 23 | ···········the·domains·and·separators.\xd |
24 | ·············•·Tree·*tree·:·pointer·to·the·Tree·object\xd | 24 | ·············•·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\xd | 25 | ·············•·IV·*mapIV·:·pointer·to·the·IV·object·that·holds·the·map·from·vertices·to·domains·and\xd |
26 | ···············separators.\xd | 26 | ···············separators.\xd |
27 | ·············································1\xd | 27 | ·············································1\xd |
28 | ··············2····························Tree·:·DRAFT· | 28 | ··············2····························Tree·:·DRAFT·February·13,·2025\xd |
29 | ··············1.2···Prototypes·and·descriptions·of·DSTree·methods\xd | 29 | ··············1.2···Prototypes·and·descriptions·of·DSTree·methods\xd |
30 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 30 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
31 | ··············DSTree·object.\xd | 31 | ··············DSTree·object.\xd |
32 | ··············1.2.1··Basic·methods\xd | 32 | ··············1.2.1··Basic·methods\xd |
33 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 33 | ··············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.\xd | 34 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
35 | ················1.·DSTree·*·DSTree_new·(·void·)·;\xd | 35 | ················1.·DSTree·*·DSTree_new·(·void·)·;\xd |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | ··············1.2.2··Instance·methods\xd | 52 | ··············1.2.2··Instance·methods\xd |
53 | ················1.·Tree·*·DSTree_tree·(·DSTree·*dstree·)·;\xd | 53 | ················1.·Tree·*·DSTree_tree·(·DSTree·*dstree·)·;\xd |
54 | ···················This·method·returns·a·pointer·to·its·Tree·object.\xd | 54 | ···················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.\xd | 55 | ···················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
56 | ················2.·IV·*·DSTree_mapIV·(·DSTree·*dstree·)·;\xd | 56 | ················2.·IV·*·DSTree_mapIV·(·DSTree·*dstree·)·;\xd |
57 | ···················This·method·returns·a·pointer·to·its·IV·object·that·maps·vertices·to·domains·and·separators.\xd | 57 | ···················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.\xd | 58 | ···················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
59 | ·········································Tree·:·DRAFT···· | 59 | ·········································Tree·:·DRAFT····February·13,·2025······················3\xd |
60 | ·············1.2.3···Initializer·methods\xd | 60 | ·············1.2.3···Initializer·methods\xd |
61 | ·············There·are·three·initializers·and·two·helper·functions·to·set·the·dimensions·of·the·dstree,·allocate\xd | 61 | ·············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.\xd | 62 | ·············the·three·vectors,·and·fill·the·information.\xd |
63 | ················1.·void·DSTree_init1·(·DSTree·*dstree,·int·ndomsep,·int·nvtx·)·;\xd | 63 | ················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\xd | 64 | ··················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\xd | 65 | ··················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\xd | 66 | ··················with·a·call·to·DSTree·clearData().·The·tree·field·is·created·and·initialized·via·a·call·to\xd |
Offset 88, 15 lines modified | Offset 88, 15 lines modified | ||
88 | ··················This·method·returns·the·stages·for·a·nested·dissection·variant,·separators·on·two·adjacent\xd | 88 | ··················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\xd | 89 | ··················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·=\xd | 90 | ··················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\xd | 91 | ··················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⌉.\xd | 92 | ··················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\xd | 93 | ··················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.\xd | 94 | ··················is·printed·and·the·program·exits.\xd |
95 | ·············4····························Tree·:·DRAFT· | 95 | ·············4····························Tree·:·DRAFT·February·13,·2025\xd |
96 | ················3.·IV·*·DSTree_MS2stages·(·DSTree·*dstree·)··;\xd | 96 | ················3.·IV·*·DSTree_MS2stages·(·DSTree·*dstree·)··;\xd |
97 | ··················This·method·returns·the·stages·for·the·standard·multisection·ordering.·The·levels·of·the\xd | 97 | ··················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\xd | 98 | ··················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\xd | 99 | ··················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.\xd | 100 | ··················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\xd | 101 | ··················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.\xd | 102 | ··················is·printed·and·the·program·exits.\xd |
Offset 125, 49 lines modified | Offset 125, 49 lines modified | ||
125 | ··················If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.·Otherwise,·the·number\xd | 125 | ··················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.\xd | 126 | ··················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.\xd | 127 | ··················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
128 | ················2.·void·DSTree_renumberViaPostOT·(·DSTree·*dstree·)·;\xd | 128 | ················2.·void·DSTree_renumberViaPostOT·(·DSTree·*dstree·)·;\xd |
129 | ··················This·method·renumbers·the·fronts·in·the·tree·via·a·post-order·traversal.\xd | 129 | ··················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\xd | 130 | ··················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.\xd | 131 | ··················is·printed·and·the·program·exits.\xd |
132 | ······································Tree·:·DRAFT·· | 132 | ······································Tree·:·DRAFT··February·13,·2025···················5\xd |
133 | ·············· | 133 | ··············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\xd | 134 | ·················This·method·returns·the·weight·of·the·vertices·in·the·domains.·If·vwghts·is·NULL,·the·vertices\xd |
135 | ·················have·unit·weight.\xd | 135 | ·················have·unit·weight.\xd |
136 | ·················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 136 | ·················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
137 | ·············· | 137 | ··············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\xd | 138 | ·················This·method·returns·the·weight·of·the·vertices·in·the·separators.·If·vwghts·is·NULL,·the\xd |
139 | ·················vertices·have·unit·weight.\xd | 139 | ·················vertices·have·unit·weight.\xd |
140 | ·················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 140 | ·················Error·checking:·If·dstree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
141 | ············1.2.6··IO·methods\xd | 141 | ············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\xd | 142 | ············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.\xd | 143 | ············for·a·Tree·object·followed·by·the·structure·for·an·IV·object.\xd |
144 | ·············· | 144 | ··············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,\xd | 145 | ·················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\xd | 146 | ·················it·then·calls·DSTree·readFromFormattedFile()·or·DSTree·readFromBinaryFile(),·closes\xd |
147 | ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd | 147 | ·················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\xd | 148 | ·················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\xd | 149 | ·················formatted·file)·or·*.dstreeb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd |
150 | ·················returns·zero.\xd | 150 | ·················returns·zero.\xd |
151 | ·············· | 151 | ··············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\xd | 152 | ·················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.\xd | 153 | ·················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.\xd | 154 | ·················Error·checking:·If·dstree·or·fp·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
155 | ·············· | 155 | ··············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\xd | 156 | ·················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.\xd | 157 | ·················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.\xd | 158 | ·················Error·checking:·If·dstree·or·fp·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
159 | ·············· | 159 | ··············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,\xd | 160 | ·················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\xd | 161 | ·················it·then·calls·DSTree·writeFromFormattedFile()or·DSTree·writeFromBinaryFile(),closes\xd |
162 | ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd | 162 | ·················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\xd | 163 | ·················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\xd | 164 | ·················formatted·file)·or·*.dstreeb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd |
165 | ·················returns·zero.\xd | 165 | ·················returns·zero.\xd |
166 | ··············6······························Tree·:·DRAFT· | 166 | ··············6······························Tree·:·DRAFT·February·13,·2025\xd |
167 | ·················5.·int·DSTree_writeToFormattedFile·(·DSTree·*dstree,·FILE·*fp·)·;\xd | 167 | ·················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\xd | 168 | ···················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.\xd | 169 | ···················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.\xd | 170 | ···················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·)·;\xd | 171 | ·················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\xd | 172 | ···················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.\xd | 173 | ···················data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fwrite,·zero·is·returned.\xd |
Offset 195, 16 lines modified | Offset 195, 16 lines modified | ||
195 | ······················•·The·inFile·parameter·is·the·input·file·for·the·DSTree·object.··It·must·be·of·the\xd | 195 | ······················•·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\xd | 196 | ························form·*.dinpmtxf·or·*.dinpmtxb.·The·DSTree·object·is·read·from·the·file·via·the\xd |
197 | ························DSTree·readFromFile()·method.\xd | 197 | ························DSTree·readFromFile()·method.\xd |
198 | ······················•·The·outFileparameter·is·the·output·file·for·the·DSTree·object.·If·outFile·is·none·then\xd | 198 | ······················•·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\xd | 199 | ························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),\xd | 200 | ························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).\xd | 201 | ························or·a·binary·file·(if·outFile·is·of·the·form·*.dinpmtxb).\xd |
202 | ······································Tree·:·DRAFT·· | 202 | ······································Tree·:·DRAFT··February·13,·2025···················7\xd |
203 | ·············· | 203 | ··············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\xd | 204 | ·················This·driver·program·reads·in·a·DSTree·from·a·file,·creates·a·stages·IV·object·and·writes·it·to\xd |
205 | ·················a·file.\xd | 205 | ·················a·file.\xd |
206 | ···················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd | 206 | ···················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd |
207 | ·····················the·DSTree·object·is·written·to·the·message·file.\xd | 207 | ·····················the·DSTree·object·is·written·to·the·message·file.\xd |
208 | ···················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 208 | ···················•·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\xd | 209 | ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd |
210 | ·····················data.\xd | 210 | ·····················data.\xd |
Offset 213, 16 lines modified | Offset 213, 16 lines modified | ||
213 | ·····················method.\xd | 213 | ·····················method.\xd |
214 | ···················•·The·type·parameter·specifies·which·type·of·stages·vector·to·create.·There·are·presently\xd | 214 | ···················•·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.\xd | 215 | ·····················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\xd | 216 | ···················•·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\xd | 217 | ·····················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\xd | 218 | ·····················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).\xd | 219 | ·····················binary·file·(if·outFile·is·of·the·form·*.ivb).\xd |
220 | ·············· | 220 | ··············3.·testDomWeightStages·msglvl·msgFile\xd |
221 | ··································· | 221 | ···································inDSTreeFile·inGraphFile·inCutoffDVfile·outFile\xd |
222 | ·················This·driver·program·is·used·to·create·a·stages·vector·based·on·subtree·weight.·It·reads·in\xd | 222 | ·················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\xd | 223 | ·················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.\xd | 224 | ·················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. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·DV.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·DV.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2352, 19 lines modified | Offset 2352, 21 lines modified | ||
2352 | end·readonly·def | 2352 | end·readonly·def |
2353 | /Encoding·256·array | 2353 | /Encoding·256·array |
2354 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2354 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2355 | dup·44·/comma·put | 2355 | dup·44·/comma·put |
2356 | dup·48·/zero·put | 2356 | dup·48·/zero·put |
2357 | dup·49·/one·put | 2357 | dup·49·/one·put |
2358 | dup·50·/two·put | 2358 | dup·50·/two·put |
2359 | dup·51·/three·put | ||
2359 | dup·5 | 2360 | dup·53·/five·put |
2360 | dup·58·/colon·put | 2361 | dup·58·/colon·put |
2361 | dup·7 | 2362 | dup·70·/F·put |
2362 | dup·97·/a·put | 2363 | dup·97·/a·put |
2364 | dup·98·/b·put | ||
2363 | dup·1 | 2365 | dup·101·/e·put |
2364 | dup·114·/r·put | 2366 | dup·114·/r·put |
2365 | dup·117·/u·put | 2367 | dup·117·/u·put |
2366 | dup·121·/y·put | 2368 | dup·121·/y·put |
2367 | readonly·def | 2369 | readonly·def |
2368 | currentdict·end | 2370 | currentdict·end |
2369 | currentfile·eexec | 2371 | currentfile·eexec |
2370 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2372 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2548, 83 lines modified | Offset 2550, 94 lines modified | ||
2548 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2550 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2549 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2551 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2550 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2552 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2551 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2553 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2552 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2554 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2553 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2555 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2554 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2556 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2555 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2557 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2556 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2557 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2558 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2559 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2560 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2561 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2562 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2563 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2564 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2565 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2566 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2567 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2568 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2569 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2570 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2571 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2572 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2573 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2574 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2575 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2576 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2577 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2578 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2579 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2580 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2581 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2582 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2583 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2584 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2585 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2586 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2587 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2588 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2589 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2590 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2591 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2592 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2593 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2594 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2595 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2596 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2597 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2598 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2599 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2600 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2601 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2602 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2603 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2604 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2605 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2606 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2607 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2608 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2609 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2610 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2611 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2612 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2613 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2614 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2615 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2616 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2617 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2618 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2619 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2620 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2621 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2622 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2623 | 2558 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2559 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2560 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2561 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2562 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2563 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2564 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2565 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2566 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2567 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2568 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2569 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2570 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2571 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 20396/31937 bytes (63.86%) of diff not shown. |
Offset 22, 15 lines modified | Offset 22, 15 lines modified | ||
22 | ···············simplest·operations,·and·so·when·we·need·to·manipulate·an·double·vector·inside·a·loop,·we·extract\xd | 22 | ···············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\xd | 23 | ···············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.\xd | 24 | ···············makes·it·a·widely·used·object.\xd |
25 | ···············1.1····Data·Structure\xd | 25 | ···············1.1····Data·Structure\xd |
26 | ···············The·DV·structure·has·three·fields.\xd | 26 | ···············The·DV·structure·has·three·fields.\xd |
27 | ··················•·int·size·:·present·size·of·the·vector.\xd | 27 | ··················•·int·size·:·present·size·of·the·vector.\xd |
28 | ·····························································1\xd | 28 | ·····························································1\xd |
29 | ··············2·····························DV·:·DRAFT· | 29 | ··············2·····························DV·:·DRAFT·February·13,·2025\xd |
30 | ·················•·int·maxsize·:·maximum·size·of·the·vector.\xd | 30 | ·················•·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\xd | 31 | ·················•·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·,\xd | 32 | ···················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\xd | 33 | ···················this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not·be\xd |
34 | ···················free’d·by·this·object.\xd | 34 | ···················free’d·by·this·object.\xd |
35 | ·················•·double·*vec·:·pointer·to·the·base·address·of·the·double·vector\xd | 35 | ·················•·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(),\xd | 36 | ··············The·size,·maxsize,·nowned·and·vec·fields·need·never·be·accessed·directly·—·see·the·DV·size(),\xd |
Offset 53, 15 lines modified | Offset 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\xd | 53 | ···················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().\xd | 54 | ···················with·a·call·to·DV·setDefaultFields().\xd |
55 | ···················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd | 55 | ···················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd |
56 | ················4.·void·DV_free·(·DV·*dv·)·;\xd | 56 | ················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\xd | 57 | ···················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().\xd | 58 | ···················structure·with·a·call·to·free().\xd |
59 | ···················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd | 59 | ···················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd |
60 | ·······································DV·:·DRAFT·· | 60 | ·······································DV·:·DRAFT··February·13,·2025·····················3\xd |
61 | ············1.2.2··Instance·methods\xd | 61 | ············1.2.2··Instance·methods\xd |
62 | ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd | 62 | ············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\xd | 63 | ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd |
64 | ············the·methods.\xd | 64 | ············the·methods.\xd |
65 | ···············1.·int·DV_owned·(·DV·*dv·)·;\xd | 65 | ···············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\xd | 66 | ·················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\xd | 67 | ·················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 modified | Offset 85, 15 lines modified | ||
85 | ·················This·method·fills·*psize·with·the·size·of·the·vector·and·**pentries·with·the·base·address\xd | 85 | ·················This·method·fills·*psize·with·the·size·of·the·vector·and·**pentries·with·the·base·address\xd |
86 | ·················of·the·vector.\xd | 86 | ·················of·the·vector.\xd |
87 | ·················Error·checking:·If·dv,·psize·or·pentriesis·NULL,·an·error·message·is·printed·and·the·program\xd | 87 | ·················Error·checking:·If·dv,·psize·or·pentriesis·NULL,·an·error·message·is·printed·and·the·program\xd |
88 | ·················exits.\xd | 88 | ·················exits.\xd |
89 | ···············7.·void·DV_setEntry·(·DV·*dv,·int·loc,·double·value·)·;\xd | 89 | ···············7.·void·DV_setEntry·(·DV·*dv,·int·loc,·double·value·)·;\xd |
90 | ·················This·method·sets·the·loc’th·entry·of·the·vector·to·value.\xd | 90 | ·················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.\xd | 91 | ·················Error·checking:·If·dv·is·NULL·or·loc·<·0,·an·error·message·is·printed·and·the·program·exits.\xd |
92 | ··············4·····························DV·:·DRAFT· | 92 | ··············4·····························DV·:·DRAFT·February·13,·2025\xd |
93 | ··············1.2.3··Initializer·methods\xd | 93 | ··············1.2.3··Initializer·methods\xd |
94 | ··············There·are·three·initializer·methods.\xd | 94 | ··············There·are·three·initializer·methods.\xd |
95 | ················1.·void·DV_init·(·DV·*dv,·int·size,·double·*entries·)·;\xd | 95 | ················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\xd | 96 | ···················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·!=\xd | 97 | ···················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\xd | 98 | ···················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\xd | 99 | ···················owned·is·set·to·zero·because·the·object·does·not·own·the·entries.·If·entries·is·NULL·and·size\xd |
Offset 123, 15 lines modified | Offset 123, 15 lines modified | ||
123 | ···················increased·with·a·call·to·DV·setMaxsize().·The·size·field·is·set·to·newsize.\xd | 123 | ···················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·=\xd | 124 | ···················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.\xd | 125 | ···················0,·an·error·message·is·printed·and·the·program·exits.\xd |
126 | ··············1.2.4··Utility·methods\xd | 126 | ··············1.2.4··Utility·methods\xd |
127 | ················1.·void·DV_shiftBase·(·DV·*dv,·int·offset·)·;\xd | 127 | ················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-\xd | 128 | ···················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\xd | 129 | ···················imum·size·of·the·vector·by·offset.·This·is·a·dangerous·method·to·use·because·the·state·of\xd |
130 | ·······································DV·:·DRAFT·· | 130 | ·······································DV·:·DRAFT··February·13,·2025·····················5\xd |
131 | ·················the·vector·is·lost,·namely·vec,·the·base·of·the·entries,·is·corrupted.·If·the·object·owns·its\xd | 131 | ·················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\xd | 132 | ·················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\xd | 133 | ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd |
134 | ·················useful·method,·but·use·with·caution.\xd | 134 | ·················useful·method,·but·use·with·caution.\xd |
135 | ·················Error·checking:·If·dv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 135 | ·················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·)·;\xd | 136 | ···············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\xd | 137 | ·················This·method·pushes·an·entry·onto·the·vector.·If·the·vector·is·full,·i.e.,·if·size·==·maxsize\xd |
Offset 159, 15 lines modified | Offset 159, 15 lines modified | ||
159 | ·················This·method·shuffles·the·entries·in·the·vector·using·seed·as·a·seed·to·a·random·number\xd | 159 | ·················This·method·shuffles·the·entries·in·the·vector·using·seed·as·a·seed·to·a·random·number\xd |
160 | ·················generator.\xd | 160 | ·················generator.\xd |
161 | ·················Error·checking:·If·dv·is·NULL,·size·<=·0·or·if·vec·==·NULL,·an·error·message·is·printed·and\xd | 161 | ·················Error·checking:·If·dv·is·NULL,·size·<=·0·or·if·vec·==·NULL,·an·error·message·is·printed·and\xd |
162 | ·················the·program·exits.\xd | 162 | ·················the·program·exits.\xd |
163 | ···············7.·int·DV_sizeOf·(·DV·*dv·)·;\xd | 163 | ···············7.·int·DV_sizeOf·(·DV·*dv·)·;\xd |
164 | ·················This·method·returns·the·number·of·bytes·taken·by·the·object.\xd | 164 | ·················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.\xd | 165 | ·················Error·checking:·If·dv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd |
166 | ··············6·····························DV·:·DRAFT· | 166 | ··············6·····························DV·:·DRAFT·February·13,·2025\xd |
167 | ················8.·double·*·DV_first·(·DV·*dv·)·;\xd | 167 | ················8.·double·*·DV_first·(·DV·*dv·)·;\xd |
168 | ···················double·*·DV_next·(·DV·*dv,·int·*pd·)·;\xd | 168 | ···················double·*·DV_next·(·DV·*dv,·int·*pd·)·;\xd |
169 | ···················These·two·methods·are·used·as·iterators,·e.g.,\xd | 169 | ···················These·two·methods·are·used·as·iterators,·e.g.,\xd |
170 | ···················for·(·pd·=·DV_first(dv)·;·pd·!=·NULL·;·pd·=·DV_next(dv,·pd)·)·{\xd | 170 | ···················for·(·pd·=·DV_first(dv)·;·pd·!=·NULL·;·pd·=·DV_next(dv,·pd)·)·{\xd |
171 | ······················do·something·with·entry·*pd\xd | 171 | ······················do·something·with·entry·*pd\xd |
172 | ···················}\xd | 172 | ···················}\xd |
173 | ···················Each·method·checks·to·see·if·dv·or·pd·is·NULL,·if·so·an·error·message·is·printed·and·the\xd | 173 | ···················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 modified | Offset 193, 15 lines modified | ||
193 | ···················smaller·than·tausmall,·or·larger·than·taubig·are·placed·into·pnzero,·*pnsmall·and·*pnbig,\xd | 193 | ···················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.\xd | 194 | ···················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\xd | 195 | ···················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.\xd | 196 | ···················or·if·tausmall·>·taubig,·an·error·message·is·printed·and·the·program·exits.\xd |
197 | ··············1.2.5··IO·methods\xd | 197 | ··············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\xd | 198 | ··············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[].\xd | 199 | ··············size,·followed·by·the·size·entries·found·in·vec[].\xd |
200 | ·······································DV·:·DRAFT·· | 200 | ·······································DV·:·DRAFT··February·13,·2025·····················7\xd |
201 | ···············1.·int·DV_readFromFile·(·DV·*dv,·char·*fn·)·;\xd | 201 | ···············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\xd | 202 | ·················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\xd | 203 | ·················then·calls·DV·readFromFormattedFile()·or·DV·readFromBinaryFile(),·closes·the·file·and\xd |
204 | ·················returns·the·value·returned·from·the·called·routine.\xd | 204 | ·················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)\xd | 205 | ·················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.\xd | 206 | ·················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·)·;\xd | 207 | ···············2.·int·DV_readFromFormattedFile·(·DV·*dv,·FILE·*fp·)·;\xd |
Offset 230, 15 lines modified | Offset 230, 15 lines modified | ||
230 | ·················This·method·writes·a·DV·object·to·a·file·in·a·human·readable·format.·is·called·to·write·out\xd | 230 | ·················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\xd | 231 | ·················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.\xd | 232 | ·················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.\xd | 233 | ·················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·)·;\xd | 234 | ···············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.\xd | 235 | ·················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.\xd | 236 | ·················Error·checking:·If·dv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
237 | ···········8······················· | 237 | ···········8·······················DV·:·DRAFT·February·13,·2025\xd |
238 | ·············9.·int·DV_writeForMatlab·(·DV·*dv,·char·*name,·FILE·*fp·)·;\xd | 238 | ·············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\xd | 239 | ···············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\xd | 240 | ···············character·string·name·is·the·name·of·the·vector,·e.g,·if·name·=·"A",·then·we·have·lines·of·the\xd |
241 | ···············form\xd | 241 | ···············form\xd |
242 | ···············A(1)·=·1.000000000000e0·;\xd | 242 | ···············A(1)·=·1.000000000000e0·;\xd |
243 | ···············A(2)·=·2.000000000000e0·;\xd | 243 | ···············A(2)·=·2.000000000000e0·;\xd |
244 | ···············...\xd | 244 | ···············...\xd |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·DenseMtx.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·DenseMtx.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1623, 19 lines modified | Offset 1623, 21 lines modified | ||
1623 | end·readonly·def | 1623 | end·readonly·def |
1624 | /Encoding·256·array | 1624 | /Encoding·256·array |
1625 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1625 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1626 | dup·44·/comma·put | 1626 | dup·44·/comma·put |
1627 | dup·48·/zero·put | 1627 | dup·48·/zero·put |
1628 | dup·49·/one·put | 1628 | dup·49·/one·put |
1629 | dup·50·/two·put | 1629 | dup·50·/two·put |
1630 | dup·51·/three·put | ||
1630 | dup·5 | 1631 | dup·53·/five·put |
1631 | dup·58·/colon·put | 1632 | dup·58·/colon·put |
1632 | dup·7 | 1633 | dup·70·/F·put |
1633 | dup·97·/a·put | 1634 | dup·97·/a·put |
1635 | dup·98·/b·put | ||
1634 | dup·1 | 1636 | dup·101·/e·put |
1635 | dup·114·/r·put | 1637 | dup·114·/r·put |
1636 | dup·117·/u·put | 1638 | dup·117·/u·put |
1637 | dup·121·/y·put | 1639 | dup·121·/y·put |
1638 | readonly·def | 1640 | readonly·def |
1639 | currentdict·end | 1641 | currentdict·end |
1640 | currentfile·eexec | 1642 | currentfile·eexec |
1641 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1643 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1819, 83 lines modified | Offset 1821, 94 lines modified | ||
1819 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1821 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1820 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1822 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1821 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1823 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1822 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1824 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1823 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1825 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1824 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1826 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1825 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1827 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1826 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1828 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1827 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1828 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1829 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1830 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1831 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1832 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1833 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1834 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1835 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1836 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1837 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1838 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1839 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1840 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1841 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1842 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1843 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1844 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1845 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1846 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1847 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1848 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1849 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1850 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1851 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1852 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1853 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1854 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1855 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1856 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1857 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1858 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1859 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1860 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1861 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1862 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1863 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1864 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1865 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1866 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1867 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1868 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1869 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1870 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1871 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1872 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1873 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1874 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1875 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1876 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1877 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1878 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1879 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1880 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1881 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1882 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1883 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1884 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1885 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1886 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1887 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1888 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1889 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1890 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1891 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1892 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1893 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1894 | 1829 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1830 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1831 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1832 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1833 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1834 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1835 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1836 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1837 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1838 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1839 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1840 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1841 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1842 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 17429/28976 bytes (60.15%) of diff not shown. |
Offset 22, 15 lines modified | Offset 22, 15 lines modified | ||
22 | ·············•·double·*entries·:·pointer·to·the·base·address·of·the·double·vector·that·contains·the·entries.\xd | 22 | ·············•·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.\xd | 23 | ·············•·DV·wrkDV·:·object·that·manages·the·owned·working·storage.\xd |
24 | ·············•·DenseMtx·*next·:·link·to·a·next·object·in·a·singly·linked·list.\xd | 24 | ·············•·DenseMtx·*next·:·link·to·a·next·object·in·a·singly·linked·list.\xd |
25 | ·············One·can·query·the·type·of·entries·via·two·macros.\xd | 25 | ·············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.\xd | 26 | ·············•·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.\xd | 27 | ·············•·DENSEMTX·IS·COMPLEX(mtx)·returns·1·if·the·matrix·has·complex·entries,·and·0·otherwise.\xd |
28 | ·············································1\xd | 28 | ·············································1\xd |
29 | ··············2···························DenseMtx·:·DRAFT· | 29 | ··············2···························DenseMtx·:·DRAFT·February·13,·2025\xd |
30 | ··············1.2···Prototypes·and·descriptions·of·DenseMtx·methods\xd | 30 | ··············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\xd | 31 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·DenseMtx\xd |
32 | ··············object.\xd | 32 | ··············object.\xd |
33 | ··············1.2.1··Basic·methods\xd | 33 | ··············1.2.1··Basic·methods\xd |
34 | ··············Asusual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing·any·allocated\xd | 34 | ··············Asusual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing·any·allocated\xd |
35 | ··············data,·and·free’ing·the·object.\xd | 35 | ··············data,·and·free’ing·the·object.\xd |
36 | ················1.·DenseMtx·*·DenseMtx_new·(·void·)·;\xd | 36 | ················1.·DenseMtx·*·DenseMtx_new·(·void·)·;\xd |
Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
58 | ················3.·void·DenseMtx_dimensions·(·DenseMtx·*mtx,·int·*pnrow,·int·*pncol·)·;\xd | 58 | ················3.·void·DenseMtx_dimensions·(·DenseMtx·*mtx,·int·*pnrow,·int·*pncol·)·;\xd |
59 | ··················This·method·fills·*pnrow·and·*pncol·with·nrow·and·ncol.\xd | 59 | ··················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.\xd | 60 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
61 | ················4.·int·DenseMtx_columnIncrement·(·DenseMtx·*mtx·)·;\xd | 61 | ················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\xd | 62 | ··················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.\xd | 63 | ··················in·consecutive·columns·in·the·same·row.\xd |
64 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 64 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
65 | ···············································DenseMtx·:·DRAFT···· | 65 | ···············································DenseMtx·:·DRAFT····February·13,·2025···························3\xd |
66 | ··················5.·int·DenseMtx_rowIncrement·(·DenseMtx·*mtx·)·;\xd | 66 | ··················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\xd | 67 | ····················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.\xd | 68 | ····················in·consecutive·rows·in·the·same·column.\xd |
69 | ····················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 69 | ····················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·)·;\xd | 70 | ··················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\xd | 71 | ····················This·method·fills·*pnrow·with·nrow,·the·number·of·rows,·and·*prowind·with·rowind,·a·pointer·to·the\xd |
72 | ····················row·indices.\xd | 72 | ····················row·indices.\xd |
Offset 97, 15 lines modified | Offset 97, 15 lines modified | ||
97 | ····················message·is·printed·and·the·program·exits.\xd | 97 | ····················message·is·printed·and·the·program·exits.\xd |
98 | ·················13.·void·DenseMtx_setComplexEntry·(·DenseMtx·*mtx,·int·irow,·int·jcol,\xd | 98 | ·················13.·void·DenseMtx_setComplexEntry·(·DenseMtx·*mtx,·int·irow,·int·jcol,\xd |
99 | ·······················································double·real,·double·imag·)·;\xd | 99 | ·······················································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\xd | 100 | ····················This·method·sets·the·real·and·imaginary·parts·of·the·entry·in·row·irow·and·column·jcol·to·be\xd |
101 | ····················(real,imag).\xd | 101 | ····················(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\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\xd |
103 | ····················error·message·is·printed·and·the·program·exits.\xd | 103 | ····················error·message·is·printed·and·the·program·exits.\xd |
104 | ················4································ | 104 | ················4································DenseMtx·:·DRAFT·February·13,·2025\xd |
105 | ·················14.·int·DenseMtx_row·(·DenseMtx·*mtx,·int·irow,·double·**prowent·)·;\xd | 105 | ·················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.\xd | 106 | ·····················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\xd | 107 | ·····················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.\xd | 108 | ·····················irow·is·out-of-range,·-4·means·prowent·is·NULL.\xd |
109 | ·················15.·int·DenseMtx_column·(·DenseMtx·*mtx,·int·jcol,·double·**pcolent·)·;\xd | 109 | ·················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.\xd | 110 | ·····················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\xd | 111 | ·····················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 modified | Offset 139, 15 lines modified | ||
139 | ···················4.·void·DenseMtx_initFromBuffer·(·DenseMtx·*mtx·)·;\xd | 139 | ···················4.·void·DenseMtx_initFromBuffer·(·DenseMtx·*mtx·)·;\xd |
140 | ·····················This·method·initializes·the·object·using·information·present·in·the·workspace·buffer.·This·method·is\xd | 140 | ·····················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.\xd | 141 | ·····················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.\xd | 142 | ·····················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·)·;\xd | 143 | ···················5.·void·DenseMtx_setA2·(·DenseMtx·*mtx,·A2·*a2·)·;\xd |
144 | ·····················This·method·initializes·the·a2·object·to·point·into·the·entries·of·the·matrix.\xd | 144 | ·····················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.\xd | 145 | ·····················Error·checking:·If·mtx·or·a2·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
146 | ········································· | 146 | ·········································DenseMtx·:·DRAFT··February·13,·2025······················5\xd |
147 | ··············1.2.4··Utility·methods\xd | 147 | ··············1.2.4··Utility·methods\xd |
148 | ················1.·int·DenseMtx_nbytesNeeded·(·int·type,·int·nrow,·int·ncol·)·;\xd | 148 | ················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.\xd | 149 | ··················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\xd | 150 | ··················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.\xd | 151 | ··················zero,·an·error·message·is·printed·and·the·program·exits.\xd |
152 | ················2.·int·DenseMtx_nbytesInWorkspace·(·DenseMtx·*mtx·)·;\xd | 152 | ················2.·int·DenseMtx_nbytesInWorkspace·(·DenseMtx·*mtx·)·;\xd |
153 | ··················This·method·returns·the·number·of·bytes·in·the·workspace·owned·by·this·object.\xd | 153 | ··················This·method·returns·the·number·of·bytes·in·the·workspace·owned·by·this·object.\xd |
Offset 174, 21 lines modified | Offset 174, 21 lines modified | ||
174 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 174 | ··················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·)·;\xd | 175 | ················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.\xd | 176 | ··················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\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\xd |
178 | ··················range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd | 178 | ··················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.\xd | 179 | ··················the·program·exits.\xd |
180 | ················8.·void·DenseMtx_copyRowAndIndex·(·DenseMtx·*mtxB,·int·irowB,\xd | 180 | ················8.·void·DenseMtx_copyRowAndIndex·(·DenseMtx·*mtxB,·int·irowB,\xd |
181 | ················································ | 181 | ················································DenseMtx·*mtxA,·int·irowA·)·;\xd |
182 | ··················This·method·copies·row·irowA·from·matrix·mtxA·into·row·irowB·of·matrix·mtxB,·and·copies·the·index\xd | 182 | ··················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.\xd | 183 | ··················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\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\xd |
185 | ··················range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd | 185 | ··················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.\xd | 186 | ··················the·program·exits.\xd |
187 | ········6···············DenseMtx·:·DRAFT· | 187 | ········6···············DenseMtx·:·DRAFT·February·13,·2025\xd |
188 | ·········9.·void·DenseMtx_addRow·(·DenseMtx·*mtxB,·int·irowB,·DenseMtx·*mtxA,·int·irowA·)·;\xd | 188 | ·········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.\xd | 189 | ··········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\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\xd |
191 | ··········range,·or·if·the·number·of·columns·in·mtxB·and·mtxA·are·not·the·same,·an·error·message·is·printed·and\xd | 191 | ··········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.\xd | 192 | ··········the·program·exits.\xd |
193 | ·········10.·void·DenseMtx_zero·(·DenseMtx·*mtx·)·;\xd | 193 | ·········10.·void·DenseMtx_zero·(·DenseMtx·*mtx·)·;\xd |
194 | ··········This·method·zeros·the·entries·in·the·matrix.\xd | 194 | ··········This·method·zeros·the·entries·in·the·matrix.\xd |
Offset 219, 15 lines modified | Offset 219, 15 lines modified | ||
219 | ··········This·method·copies·vector·vec[]·into·row·irow·of·matrix·mtx.\xd | 219 | ··········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\xd | 220 | ··········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.\xd | 221 | ··········the·program·exits.\xd |
222 | ·········18.·double·DenseMtx_addVectorIntoRow·(·DenseMtx·*mtx,·int·irow,·double·vec[]·)·;\xd | 222 | ·········18.·double·DenseMtx_addVectorIntoRow·(·DenseMtx·*mtx,·int·irow,·double·vec[]·)·;\xd |
223 | ··········This·method·adds·vector·vec[]·into·row·irow·of·matrix·mtx.\xd | 223 | ··········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\xd | 224 | ··········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.\xd | 225 | ··········the·program·exits.\xd |
226 | ········································· | 226 | ·········································DenseMtx·:·DRAFT··February·13,·2025······················7\xd |
227 | ··············1.2.5··IO·methods\xd | 227 | ··············1.2.5··IO·methods\xd |
228 | ··············Thefile·structure·of·a·DenseMtxobject·is·simple.·First·comes·seven·scalars,·type,·rowid,·colid,·nrow,·ncol,\xd | 228 | ··············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\xd | 229 | ··············inc1·and·inc2,·followed·by·the·row·indices,·followed·by·the·column·indices,·and·then·followed·by·the·matrix\xd |
230 | ··············entries.\xd | 230 | ··············entries.\xd |
231 | ················1.·int·DenseMtx_readFromFile·(·DenseMtx·*mtx,·char·*fn·)·;\xd | 231 | ················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\xd | 232 | ··················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\xd | 233 | ··················method·calls·DenseMtx·readFromFormattedFile()·or·DenseMtx·readFromBinaryFile(),·closes·the\xd |
Offset 258, 15 lines modified | Offset 258, 15 lines modified | ||
258 | ··················Error·checking:·If·mtx·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd | 258 | ··················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·)·;\xd | 259 | ················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.\xd | 260 | ··················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.\xd | 261 | ··················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·)·;\xd | 262 | ················8.·void·DenseMtx_writeForHumanEye·(·DenseMtx·*mtx,·FILE·*fp·)·;\xd |
263 | ··················This·method·writes·a·DenseMtx·object·to·a·file·in·an·easily·readable·format.\xd | 263 | ··················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.\xd | 264 | ··················Error·checking:·If·mtx·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
265 | ··············8····························DenseMtx·:·DRAFT· | 265 | ··············8····························DenseMtx·:·DRAFT·February·13,·2025\xd |
266 | ················9.·void·DenseMtx_writeForMatlab·(·DenseMtx·*mtx,·char·*mtxname,·FILE·*fp·)·;\xd | 266 | ················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\xd | 267 | ···················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·;\xd | 268 | ···················a(10,5)·=·-1.550328201511e-01·+···1.848033378871e+00*i·;\xd |
269 | ···················for·complex·matrices,·or\xd | 269 | ···················for·complex·matrices,·or\xd |
270 | ···················a(10,5)·=·-1.550328201511e-01·;\xd | 270 | ···················a(10,5)·=·-1.550328201511e-01·;\xd |
271 | ···················for·real·matrices,·where·mtxname·=·"a".·The·matrix·indices·come·from·the·rowind[]·and·colind[]\xd | 271 | ···················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.\xd | 272 | ···················vectors,·and·are·incremented·by·one·to·follow·the·Matlab·and·FORTRAN·convention.\xd |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·Drand.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·Drand.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1721, 19 lines modified | Offset 1721, 21 lines modified | ||
1721 | end·readonly·def | 1721 | end·readonly·def |
1722 | /Encoding·256·array | 1722 | /Encoding·256·array |
1723 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1723 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1724 | dup·44·/comma·put | 1724 | dup·44·/comma·put |
1725 | dup·48·/zero·put | 1725 | dup·48·/zero·put |
1726 | dup·49·/one·put | 1726 | dup·49·/one·put |
1727 | dup·50·/two·put | 1727 | dup·50·/two·put |
1728 | dup·51·/three·put | ||
1728 | dup·5 | 1729 | dup·53·/five·put |
1729 | dup·58·/colon·put | 1730 | dup·58·/colon·put |
1730 | dup·7 | 1731 | dup·70·/F·put |
1731 | dup·97·/a·put | 1732 | dup·97·/a·put |
1733 | dup·98·/b·put | ||
1732 | dup·1 | 1734 | dup·101·/e·put |
1733 | dup·114·/r·put | 1735 | dup·114·/r·put |
1734 | dup·117·/u·put | 1736 | dup·117·/u·put |
1735 | dup·121·/y·put | 1737 | dup·121·/y·put |
1736 | readonly·def | 1738 | readonly·def |
1737 | currentdict·end | 1739 | currentdict·end |
1738 | currentfile·eexec | 1740 | currentfile·eexec |
1739 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1741 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1917, 83 lines modified | Offset 1919, 94 lines modified | ||
1917 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1919 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1918 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1920 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1919 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1921 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1920 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1922 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1921 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1923 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1922 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1924 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1923 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1925 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1924 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1926 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1925 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1926 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1927 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1928 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1929 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1930 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1931 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1932 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1933 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1934 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1935 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1936 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1937 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1938 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1939 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1940 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1941 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1942 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1943 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1944 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1945 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1946 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1947 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1948 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1949 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1950 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1951 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1952 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1953 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1954 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1955 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1956 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1957 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1958 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1959 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1960 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1961 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1962 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1963 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1964 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1965 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1966 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1967 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1968 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1969 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1970 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1971 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1972 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1973 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1974 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1975 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1976 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1977 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1978 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1979 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1980 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1981 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1982 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1983 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1984 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1985 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1986 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1987 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1988 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1989 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1990 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1991 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1992 | 1927 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1928 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1929 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1930 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1931 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1932 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1933 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1934 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1935 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1936 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1937 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1938 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1939 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1940 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 7418/18962 bytes (39.12%) of diff not shown. |
Offset 15, 15 lines modified | Offset 15, 15 lines modified | ||
15 | ·············•·double·mean·:·mean·for·a·normal·distribution\xd | 15 | ·············•·double·mean·:·mean·for·a·normal·distribution\xd |
16 | ·············•·double·sigma·:·variation·for·a·normal·distribution\xd | 16 | ·············•·double·sigma·:·variation·for·a·normal·distribution\xd |
17 | ·············•·int·mode:·mode·of·the·object,·uniform·is·1,·normal·is·2\xd | 17 | ·············•·int·mode:·mode·of·the·object,·uniform·is·1,·normal·is·2\xd |
18 | ···········1.2··Prototypes·and·descriptions·of·Drand·methods\xd | 18 | ···········1.2··Prototypes·and·descriptions·of·Drand·methods\xd |
19 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 19 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
20 | ···········Drand·object.\xd | 20 | ···········Drand·object.\xd |
21 | ·············································1\xd | 21 | ·············································1\xd |
22 | ··············2··························· | 22 | ··············2···························Drand·:·DRAFT·February·13,·2025\xd |
23 | ··············1.2.1··Basic·methods\xd | 23 | ··············1.2.1··Basic·methods\xd |
24 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 24 | ··············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.\xd | 25 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
26 | ················1.·Drand·*·Drand_new·(·void·)·;\xd | 26 | ················1.·Drand·*·Drand_new·(·void·)·;\xd |
27 | ···················This·method·simply·allocates·storage·for·the·Drand·structure·and·then·sets·the·default·fields\xd | 27 | ···················This·method·simply·allocates·storage·for·the·Drand·structure·and·then·sets·the·default·fields\xd |
28 | ···················by·a·call·to·Drand·setDefaultFields().\xd | 28 | ···················by·a·call·to·Drand·setDefaultFields().\xd |
29 | ················2.·void·Drand_setDefaultFields·(·Drand·*drand·)·;\xd | 29 | ················2.·void·Drand_setDefaultFields·(·Drand·*drand·)·;\xd |
Offset 47, 15 lines modified | Offset 47, 15 lines modified | ||
47 | ················1.·void·Drand_init·(·Drand·*drand·)·;\xd | 47 | ················1.·void·Drand_init·(·Drand·*drand·)·;\xd |
48 | ···················This·initializer·simply·sets·the·default·fields·with·a·call·to·Drand·setDefaultFields().\xd | 48 | ···················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.\xd | 49 | ···················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·)·;\xd | 50 | ················2.·void·Drand_setSeed·(·Drand·*drand,·int·seed1·)·;\xd |
51 | ···················This·method·sets·the·random·number·seeds·using·a·single·input·seed.\xd | 51 | ···················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\xd | 52 | ···················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.\xd | 53 | ···················is·printed·and·the·program·exits.\xd |
54 | ····································· | 54 | ·····································Drand·:·DRAFT···February·13,·2025···················3\xd |
55 | ···············3.·void·Drand_setSeeds·(·Drand·*drand,·int·seed1,·int·seed2·)·;\xd | 55 | ···············3.·void·Drand_setSeeds·(·Drand·*drand,·int·seed1,·int·seed2·)·;\xd |
56 | ·················This·method·sets·the·random·number·seeds·using·two·input·seeds.\xd | 56 | ·················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.\xd | 57 | ·················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,\xd | 58 | ·················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.\xd | 59 | ·················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·)·;\xd | 60 | ···············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.\xd | 61 | ·················This·method·sets·the·mode·to·be·a·normal·distribution·with·mean·mean·and·variation·sigma.\xd |
Offset 79, 15 lines modified | Offset 79, 15 lines modified | ||
79 | ·················program·exits.\xd | 79 | ·················program·exits.\xd |
80 | ···············4.·void·Drand_fillIvector·(·Drand·*drand,·int·n,·int·vec[]·)·;\xd | 80 | ···············4.·void·Drand_fillIvector·(·Drand·*drand,·int·n,·int·vec[]·)·;\xd |
81 | ·················This·method·fills·vec[]·with·n·int·random·numbers.\xd | 81 | ·················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\xd | 82 | ·················Error·checking:·If·drand·or·vec·are·NULL·or·if·n·<·0·,·an·error·message·is·printed·and·the\xd |
83 | ·················program·exits.\xd | 83 | ·················program·exits.\xd |
84 | ············1.3···Driver·programs·for·the·Drand·object\xd | 84 | ············1.3···Driver·programs·for·the·Drand·object\xd |
85 | ············This·section·contains·brief·descriptions·of·the·driver·programs.\xd | 85 | ············This·section·contains·brief·descriptions·of·the·driver·programs.\xd |
86 | ·······4··············Drand·:·DRAFT· | 86 | ·······4··············Drand·:·DRAFT·February·13,·2025\xd |
87 | ········1.·testDrand·msglvl·msgFile·distribution·param1·param2·seed1·seed2·n\xd | 87 | ········1.·testDrand·msglvl·msgFile·distribution·param1·param2·seed1·seed2·n\xd |
88 | ··········This·driver·program·test·the·Drand·random·number·generator.\xd | 88 | ··········This·driver·program·test·the·Drand·random·number·generator.\xd |
89 | ···········•·The·msglvl·parameter·determines·the·amount·of·output.\xd | 89 | ···········•·The·msglvl·parameter·determines·the·amount·of·output.\xd |
90 | ···········•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 90 | ···········•·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\xd | 91 | ············message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd |
92 | ············data.\xd | 92 | ············data.\xd |
93 | ···········•·The·distribution·parameter·specifies·the·mode·of·the·object.·If·1,·the·distribution·is\xd | 93 | ···········•·The·distribution·parameter·specifies·the·mode·of·the·object.·If·1,·the·distribution·is\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·EGraph.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·EGraph.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1407, 19 lines modified | Offset 1407, 21 lines modified | ||
1407 | end·readonly·def | 1407 | end·readonly·def |
1408 | /Encoding·256·array | 1408 | /Encoding·256·array |
1409 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1409 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1410 | dup·44·/comma·put | 1410 | dup·44·/comma·put |
1411 | dup·48·/zero·put | 1411 | dup·48·/zero·put |
1412 | dup·49·/one·put | 1412 | dup·49·/one·put |
1413 | dup·50·/two·put | 1413 | dup·50·/two·put |
1414 | dup·51·/three·put | ||
1414 | dup·5 | 1415 | dup·53·/five·put |
1415 | dup·58·/colon·put | 1416 | dup·58·/colon·put |
1416 | dup·7 | 1417 | dup·70·/F·put |
1417 | dup·97·/a·put | 1418 | dup·97·/a·put |
1419 | dup·98·/b·put | ||
1418 | dup·1 | 1420 | dup·101·/e·put |
1419 | dup·114·/r·put | 1421 | dup·114·/r·put |
1420 | dup·117·/u·put | 1422 | dup·117·/u·put |
1421 | dup·121·/y·put | 1423 | dup·121·/y·put |
1422 | readonly·def | 1424 | readonly·def |
1423 | currentdict·end | 1425 | currentdict·end |
1424 | currentfile·eexec | 1426 | currentfile·eexec |
1425 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1427 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1603, 83 lines modified | Offset 1605, 94 lines modified | ||
1603 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1605 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1604 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1606 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1605 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1607 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1606 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1608 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1607 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1609 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1608 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1610 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1609 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1611 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1610 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1612 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1611 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1612 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1613 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1614 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1615 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1616 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1617 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1618 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1619 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1620 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1621 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1622 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1623 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1624 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1625 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1626 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1627 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1628 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1629 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1630 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1631 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1632 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1633 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1634 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1635 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1636 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1637 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1638 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1639 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1640 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1641 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1642 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1643 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1644 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1645 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1646 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1647 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1648 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1649 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1650 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1651 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1652 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1653 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1654 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1655 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1656 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1657 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1658 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1659 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1660 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1661 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1662 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1663 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1664 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1665 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1666 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1667 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1668 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1669 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1670 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1671 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1672 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1673 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1674 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1675 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1676 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1677 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1678 | 1613 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1614 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1615 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1616 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1617 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1618 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1619 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1620 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1621 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1622 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1623 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1624 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1625 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1626 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 18397/29942 bytes (61.44%) of diff not shown. |
Offset 21, 15 lines modified | Offset 21, 15 lines modified | ||
21 | ·············•·int·nvtx·:·number·of·vertices·in·the·graph\xd | 21 | ·············•·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.\xd | 22 | ·············•·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\xd | 23 | ·············•·int·*vwghts·:·when·type·=·1,·vwghts·points·to·an·int·vector·of·size·nvtx·that·holds·the\xd |
24 | ···············node·weights.\xd | 24 | ···············node·weights.\xd |
25 | ···········A·correctly·initialized·and·nontrivial·EGraph·object·will·have·positive·nelem·and·nvtx·values,·a\xd | 25 | ···········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.\xd | 26 | ···········valid·adjIVL·field.·If·type·=·1,·the·vwghts·will·be·non-NULL.\xd |
27 | ·············································1\xd | 27 | ·············································1\xd |
28 | ··············2···························EGraph·:·DRAFT· | 28 | ··············2···························EGraph·:·DRAFT·February·13,·2025\xd |
29 | ··············1.2···Prototypes·and·descriptions·of·EGraph·methods\xd | 29 | ··············1.2···Prototypes·and·descriptions·of·EGraph·methods\xd |
30 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 30 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
31 | ··············EGraph·object.\xd | 31 | ··············EGraph·object.\xd |
32 | ··············1.2.1··Basic·methods\xd | 32 | ··············1.2.1··Basic·methods\xd |
33 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 33 | ··············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.\xd | 34 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
35 | ················1.·EGraph·*·EGraph_new·(·void·)·;\xd | 35 | ················1.·EGraph·*·EGraph_new·(·void·)·;\xd |
Offset 55, 15 lines modified | Offset 55, 15 lines modified | ||
55 | ···················This·method·initializes·an·EGraph·object·given·the·type·of·vertices,·number·of·elements,\xd | 55 | ···················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\xd | 56 | ···················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\xd | 57 | ···················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\xd | 58 | ···················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.\xd | 59 | ···················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\xd | 60 | ···················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.\xd | 61 | ···················nonpositive,·an·error·message·is·printed·and·the·program·exits.\xd |
62 | ·····································EGraph·:·DRAFT·· | 62 | ·····································EGraph·:·DRAFT··February·13,·2025···················3\xd |
63 | ············1.2.3··Utility·methods\xd | 63 | ············1.2.3··Utility·methods\xd |
64 | ···············1.·Graph·EGraph_mkAdjGraph·(·EGraph·*egraph·)·;\xd | 64 | ···············1.·Graph·EGraph_mkAdjGraph·(·EGraph·*egraph·)·;\xd |
65 | ·················This·method·creates·and·returns·a·Graph·object·with·vertex·adjacency·lists·from·the·element\xd | 65 | ·················This·method·creates·and·returns·a·Graph·object·with·vertex·adjacency·lists·from·the·element\xd |
66 | ·················graph·object.\xd | 66 | ·················graph·object.\xd |
67 | ·················Error·checking:·If·egraph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 67 | ·················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·)·;\xd | 68 | ···············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\xd | 69 | ·················This·method·creates·and·returns·a·EGraph·object·for·a·n1·×·n2·grid·for·a·9-point·operator\xd |
Offset 92, 15 lines modified | Offset 92, 15 lines modified | ||
92 | ·················This·method·reads·in·an·EGraph·object·from·a·formatted·file.·If·there·are·no·errors·in·reading\xd | 92 | ·················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.\xd | 93 | ·················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.\xd | 94 | ·················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·)·;\xd | 95 | ···············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\xd | 96 | ·················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.\xd | 97 | ·················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.\xd | 98 | ·················Error·checking:·If·egraph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd |
99 | ···········4······················EGraph·:·DRAFT· | 99 | ···········4······················EGraph·:·DRAFT·February·13,·2025\xd |
100 | ·············4.·int·EGraph_writeToFile·(·EGraph·*egraph,·char·*fn·)·;\xd | 100 | ·············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,\xd | 101 | ···············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\xd | 102 | ···············it·then·calls·EGraph·writeFromFormattedFile()or·EGraph·writeFromBinaryFile(),closes\xd |
103 | ···············the·file·and·returns·the·value·returned·from·the·called·routine.\xd | 103 | ···············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\xd | 104 | ···············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\xd | 105 | ···············formatted·file)·or·*.egraphb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd |
106 | ···············returns·zero.\xd | 106 | ···············returns·zero.\xd |
Offset 128, 15 lines modified | Offset 128, 15 lines modified | ||
128 | ···············binary·files·and·vice·versa.·One·can·also·read·in·a·EGraph·file·and·print·out·just·the·header\xd | 128 | ···············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).\xd | 129 | ···············information·(see·the·EGraph·writeStats()·method).\xd |
130 | ·················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd | 130 | ·················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd |
131 | ···················the·EGraph·object·is·written·to·the·message·file.\xd | 131 | ···················the·EGraph·object·is·written·to·the·message·file.\xd |
132 | ·················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 132 | ·················•·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\xd | 133 | ···················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd |
134 | ···················data.\xd | 134 | ···················data.\xd |
135 | ·····································EGraph·:·DRAFT·· | 135 | ·····································EGraph·:·DRAFT··February·13,·2025···················5\xd |
136 | ···················•·The·inFile·parameter·is·the·input·file·for·the·EGraph·object.·It·must·be·of·the·form\xd | 136 | ···················•·The·inFile·parameter·is·the·input·file·for·the·EGraph·object.·It·must·be·of·the·form\xd |
137 | ·····················*.egraphfor*.egraphb.·TheEGraphobjectisreadfromthefileviatheEGraph·readFromFile()\xd | 137 | ·····················*.egraphfor*.egraphb.·TheEGraphobjectisreadfromthefileviatheEGraph·readFromFile()\xd |
138 | ·····················method.\xd | 138 | ·····················method.\xd |
139 | ···················•·The·outFileparameter·is·the·output·file·for·the·EGraph·object.·If·outFile·is·none·then\xd | 139 | ···················•·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\xd | 140 | ·····················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),\xd | 141 | ·····················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).\xd | 142 | ·····················or·a·binary·file·(if·outFile·is·of·the·form·*.egraphb).\xd |
Offset 166, 15 lines modified | Offset 166, 15 lines modified | ||
166 | ·····················data.\xd | 166 | ·····················data.\xd |
167 | ···················•·n1·is·the·number·of·grid·points·in·the·first·direction,·must·be·greater·than·one.\xd | 167 | ···················•·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.\xd | 168 | ···················•·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\xd | 169 | ···················•·n3·is·the·number·of·grid·points·in·the·third·direction,·must·be·greater·than·or·equal·to\xd |
170 | ·····················one.\xd | 170 | ·····················one.\xd |
171 | ···················•·ncomp·is·the·number·of·components·(i.e.,·the·number·of·degrees·of·freedom)·at·each·grid\xd | 171 | ···················•·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.\xd | 172 | ·····················point,·must·be·greater·than·or·equal·to·one.\xd |
173 | ·······6············· | 173 | ·······6·············EGraph·:·DRAFT·February·13,·2025\xd |
174 | ···········•·TheoutEGraphFileparameteristheoutputfilefortheEGraphobject.·IfoutEGraphFile\xd | 174 | ···········•·TheoutEGraphFileparameteristheoutputfilefortheEGraphobject.·IfoutEGraphFile\xd |
175 | ············is·nonethentheEGraphobjectisnotwrittentoafile.·Otherwise,theEGraph·writeToFile()\xd | 175 | ············is·nonethentheEGraphobjectisnotwrittentoafile.·Otherwise,theEGraph·writeToFile()\xd |
176 | ············method·is·called·to·write·the·object·to·a·formatted·file·(if·outEGraphFile·is·of·the·form\xd | 176 | ············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).\xd | 177 | ············*.egraphf),·or·a·binary·file·(if·outEGraphFile·is·of·the·form·*.egraphb).\xd |
178 | ·······Index\xd | 178 | ·······Index\xd |
179 | ·······EGraph·clearData(),·2\xd | 179 | ·······EGraph·clearData(),·2\xd |
180 | ·······EGraph·free(),·2\xd | 180 | ·······EGraph·free(),·2\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·ETree.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·ETree.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 3607, 19 lines modified | Offset 3607, 21 lines modified | ||
3607 | end·readonly·def | 3607 | end·readonly·def |
3608 | /Encoding·256·array | 3608 | /Encoding·256·array |
3609 | 0·1·255·{1·index·exch·/.notdef·put}·for | 3609 | 0·1·255·{1·index·exch·/.notdef·put}·for |
3610 | dup·44·/comma·put | 3610 | dup·44·/comma·put |
3611 | dup·48·/zero·put | 3611 | dup·48·/zero·put |
3612 | dup·49·/one·put | 3612 | dup·49·/one·put |
3613 | dup·50·/two·put | 3613 | dup·50·/two·put |
3614 | dup·51·/three·put | ||
3614 | dup·5 | 3615 | dup·53·/five·put |
3615 | dup·58·/colon·put | 3616 | dup·58·/colon·put |
3616 | dup·7 | 3617 | dup·70·/F·put |
3617 | dup·97·/a·put | 3618 | dup·97·/a·put |
3619 | dup·98·/b·put | ||
3618 | dup·1 | 3620 | dup·101·/e·put |
3619 | dup·114·/r·put | 3621 | dup·114·/r·put |
3620 | dup·117·/u·put | 3622 | dup·117·/u·put |
3621 | dup·121·/y·put | 3623 | dup·121·/y·put |
3622 | readonly·def | 3624 | readonly·def |
3623 | currentdict·end | 3625 | currentdict·end |
3624 | currentfile·eexec | 3626 | currentfile·eexec |
3625 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 3627 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 3803, 83 lines modified | Offset 3805, 94 lines modified | ||
3803 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 3805 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
3804 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 3806 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
3805 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 3807 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
3806 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 3808 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
3807 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 3809 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
3808 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 3810 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
3809 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 3811 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
3810 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 3812 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
3811 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
3812 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
3813 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
3814 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
3815 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
3816 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
3817 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
3818 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
3819 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
3820 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
3821 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
3822 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
3823 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
3824 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
3825 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
3826 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
3827 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
3828 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
3829 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
3830 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
3831 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
3832 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
3833 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
3834 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
3835 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
3836 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
3837 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
3838 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
3839 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
3840 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
3841 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
3842 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
3843 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
3844 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
3845 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
3846 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
3847 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
3848 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
3849 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
3850 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
3851 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
3852 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
3853 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
3854 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
3855 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
3856 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
3857 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
3858 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
3859 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
3860 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
3861 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
3862 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
3863 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
3864 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
3865 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
3866 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
3867 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
3868 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
3869 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
3870 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
3871 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
3872 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
3873 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
3874 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
3875 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
3876 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
3877 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
3878 | 3813 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
3814 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
3815 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
3816 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
3817 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
3818 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
3819 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
3820 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
3821 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
3822 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
3823 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
3824 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
3825 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
3826 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 53378/64922 bytes (82.22%) of diff not shown. |
Offset 21, 15 lines modified | Offset 21, 15 lines modified | ||
21 | ··············•·int·nfront·:·number·of·fronts·in·the·tree\xd | 21 | ··············•·int·nfront·:·number·of·fronts·in·the·tree\xd |
22 | ··············•·int·nvtx·:·number·of·vertices·in·the·tree\xd | 22 | ··············•·int·nvtx·:·number·of·vertices·in·the·tree\xd |
23 | ··············•·Tree·*tree·:·pointer·to·a·Tree·structure\xd | 23 | ··············•·Tree·*tree·:·pointer·to·a·Tree·structure\xd |
24 | ··············•·IV·*nodwghtsIV·:·pointer·to·an·IV·object·to·hold·front·weights,·size·nfront\xd | 24 | ··············•·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\xd | 25 | ··············•·IV·*bndwghtsIV·:·pointer·to·an·IV·object·to·hold·the·weights·of·the·fronts’·boundaries,·size\xd |
26 | ···············nfront\xd | 26 | ···············nfront\xd |
27 | ·············································1\xd | 27 | ·············································1\xd |
28 | ··············2··························· | 28 | ··············2···························ETree·:·DRAFT·February·13,·2025\xd |
29 | ·················•·IV·*vtxToFrontIV·:·pointer·to·an·IV·object·to·hold·the·map·from·vertices·to·fronts,·size\xd | 29 | ·················•·IV·*vtxToFrontIV·:·pointer·to·an·IV·object·to·hold·the·map·from·vertices·to·fronts,·size\xd |
30 | ··················nfront\xd | 30 | ··················nfront\xd |
31 | ··············A·correctly·initialized·and·nontrivial·ETree·object·will·have·positive·nfront·and·nvtx·values,·a\xd | 31 | ··············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.\xd | 32 | ··············valid·tree·field·and·non-NULL·nodwghtsIV,·bndwghtsIV·and·vtxToFrontIV·pointers.\xd |
33 | ··············1.2···Prototypes·and·descriptions·of·ETree·methods\xd | 33 | ··············1.2···Prototypes·and·descriptions·of·ETree·methods\xd |
34 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 34 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
35 | ··············ETree·object.\xd | 35 | ··············ETree·object.\xd |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | ··················This·method·releases·any·storage·by·a·call·to·ETree·clearData()·then·free’s·the·storage·for\xd | 53 | ··················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().\xd | 54 | ··················the·structure·with·a·call·to·free().\xd |
55 | ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 55 | ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
56 | ··············1.2.2··Instance·methods\xd | 56 | ··············1.2.2··Instance·methods\xd |
57 | ················1.·int·ETree_nfront·(·ETree·*etree·)·;\xd | 57 | ················1.·int·ETree_nfront·(·ETree·*etree·)·;\xd |
58 | ··················This·method·returns·the·number·of·fronts.\xd | 58 | ··················This·method·returns·the·number·of·fronts.\xd |
59 | ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 59 | ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
60 | ············································ETree·:·DRAFT····· | 60 | ············································ETree·:·DRAFT·····February·13,·2025·························3\xd |
61 | ·················2.·int·ETree_nvtx·(·ETree·*etree·)·;\xd | 61 | ·················2.·int·ETree_nvtx·(·ETree·*etree·)·;\xd |
62 | ····················This·method·returns·the·number·of·vertices.\xd | 62 | ····················This·method·returns·the·number·of·vertices.\xd |
63 | ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 63 | ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
64 | ·················3.·Tree·*·ETree_tree·(·ETree·*etree·)·;\xd | 64 | ·················3.·Tree·*·ETree_tree·(·ETree·*etree·)·;\xd |
65 | ····················This·method·returns·a·pointer·to·the·Tree·object.\xd | 65 | ····················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.\xd | 66 | ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
67 | ·················4.·int··ETree_root·(·ETree·*etree·)·;\xd | 67 | ·················4.·int··ETree_root·(·ETree·*etree·)·;\xd |
Offset 86, 15 lines modified | Offset 86, 15 lines modified | ||
86 | ·················9.·int·*·ETree_nodwghts·(·ETree·*etree·)·;\xd | 86 | ·················9.·int·*·ETree_nodwghts·(·ETree·*etree·)·;\xd |
87 | ····················This·method·returns·a·pointer·to·the·nodwghts·vector.\xd | 87 | ····················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\xd | 88 | ····················Error·checking:·If·etree·or·etree->nodwghtsIV·is·NULL,·an·error·message·is·printed·and·the\xd |
89 | ····················program·exits.\xd | 89 | ····················program·exits.\xd |
90 | ················10.·IV·*·ETree_bndwghtsIV·(·ETree·*etree·)·;\xd | 90 | ················10.·IV·*·ETree_bndwghtsIV·(·ETree·*etree·)·;\xd |
91 | ····················This·method·returns·a·pointer·to·the·bndwghtsIV·object.\xd | 91 | ····················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.\xd | 92 | ····················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
93 | ··············4··························· | 93 | ··············4···························ETree·:·DRAFT·February·13,·2025\xd |
94 | ···············11.·int·*·ETree_bndwghts·(·ETree·*etree·)·;\xd | 94 | ···············11.·int·*·ETree_bndwghts·(·ETree·*etree·)·;\xd |
95 | ··················This·method·returns·a·pointer·to·the·bndwghts·vector.\xd | 95 | ··················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\xd | 96 | ··················Error·checking:·If·etree·or·etree->bndwghtsIV·is·NULL,·an·error·message·is·printed·and·the\xd |
97 | ··················program·exits.\xd | 97 | ··················program·exits.\xd |
98 | ···············12.·IV·*·ETree_vtxToFrontIV·(·ETree·*etree·)·;\xd | 98 | ···············12.·IV·*·ETree_vtxToFrontIV·(·ETree·*etree·)·;\xd |
99 | ··················This·method·returns·a·pointer·to·the·vtxToFrontIV·object.\xd | 99 | ··················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.\xd | 100 | ··················Error·checking:·If·etree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
Offset 121, 15 lines modified | Offset 121, 15 lines modified | ||
121 | ··················Error·checking:·If·etree·is·NULL,·or·if·symflag·is·invalid,·an·error·message·is·printed·and·the\xd | 121 | ··················Error·checking:·If·etree·is·NULL,·or·if·symflag·is·invalid,·an·error·message·is·printed·and·the\xd |
122 | ··················program·exits.\xd | 122 | ··················program·exits.\xd |
123 | ··············1.2.3··Initializer·methods\xd | 123 | ··············1.2.3··Initializer·methods\xd |
124 | ··············There·are·four·initializer·methods.\xd | 124 | ··············There·are·four·initializer·methods.\xd |
125 | ················1.·void·ETree_init1·(·ETree·*etree,·int·nfront,·int·nvtx·)·;\xd | 125 | ················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.\xd | 126 | ··················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\xd | 127 | ··················Anyprevious·data·is·cleared·with·a·call·to·ETree·clearData(),·The·Tree·object·is·initialized\xd |
128 | ······································ETree·:·DRAFT·· | 128 | ······································ETree·:·DRAFT··February·13,·2025···················5\xd |
129 | ·················with·a·call·to·Tree·init1().·The·nodwghtsIV,·bndwghtsIV·and·vtxToFrontIV·objects·are\xd | 129 | ·················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,\xd | 130 | ·················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.\xd | 131 | ·················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\xd | 132 | ·················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.\xd | 133 | ·················message·is·printed·and·the·program·exits.\xd |
134 | ···············2.·void·ETree_initFromGraph·(·ETree·*etree,·Graph·*g·)·;\xd | 134 | ···············2.·void·ETree_initFromGraph·(·ETree·*etree,·Graph·*g·)·;\xd |
135 | ·················This·method·generates·an·elimination·tree·from·a·graph.·The·nodwghtsIV·vector·object·is\xd | 135 | ·················This·method·generates·an·elimination·tree·from·a·graph.·The·nodwghtsIV·vector·object·is\xd |
Offset 160, 15 lines modified | Offset 160, 15 lines modified | ||
160 | ·················permutes·to·vertex-to-front·map,·and·returns·an·IV·object·that·contains·the·old-to-new\xd | 160 | ·················permutes·to·vertex-to-front·map,·and·returns·an·IV·object·that·contains·the·old-to-new\xd |
161 | ·················permutation.\xd | 161 | ·················permutation.\xd |
162 | ·················Error·checking:·If·etree·is·NULL·or·inETreeFileName·is·“none”,·an·error·message·is·printed\xd | 162 | ·················Error·checking:·If·etree·is·NULL·or·inETreeFileName·is·“none”,·an·error·message·is·printed\xd |
163 | ·················and·the·program·exits.\xd | 163 | ·················and·the·program·exits.\xd |
164 | ···············6.·int·ETree_initFromSubtree·(·ETree·*subtree,·IV·*nodeidsIV,·ETree·*etree,·IV·*vtxIV·)·;\xd | 164 | ···············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\xd | 165 | ·················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.\xd | 166 | ·················nodeidsIV.·The·map·from·nodes·in·subtree·to·nodes·in·etree·is·returned·in·vtxIV.\xd |
167 | ···············6······························ | 167 | ···············6······························ETree·:·DRAFT·February·13,·2025\xd |
168 | ····················Return·code:···1·for·a·normal·return,·-1·if·subtree·is·NULL,·-2·if·nodeidsIV·is·NULL,·-3·if\xd | 168 | ····················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.\xd | 169 | ····················etree·is·NULL,·-4·if·nodeidsIV·is·invalid,·-5·if·vtxIV·is·NULL.\xd |
170 | ···············1.2.4···Utility·methods\xd | 170 | ···············1.2.4···Utility·methods\xd |
171 | ···············Theutility·methods·return·the·number·of·bytes·taken·by·the·object,·or·the·number·of·factor·indices,\xd | 171 | ···············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.\xd | 172 | ···············entries·or·operations·required·by·the·object.\xd |
173 | ··················1.·int·ETree_sizeOf·(·ETree·*etree·)·;\xd | 173 | ··················1.·int·ETree_sizeOf·(·ETree·*etree·)·;\xd |
174 | ····················This·method·returns·the·number·of·bytes·taken·by·this·object·(which·includes·the·bytes·taken\xd | 174 | ····················This·method·returns·the·number·of·bytes·taken·by·this·object·(which·includes·the·bytes·taken\xd |
Offset 195, 15 lines modified | Offset 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\xd | 195 | ····················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.\xd | 196 | ····················symflag·is·invalid,·an·error·message·is·printed·and·the·program·exits.\xd |
197 | ··················5.·double·ETree_nFactorEntriesInFront·(·ETree·*etree,·int·symflag,·int·J·)·;\xd | 197 | ··················5.·double·ETree_nFactorEntriesInFront·(·ETree·*etree,·int·symflag,·int·J·)·;\xd |
198 | ····················ThismethodreturnsthenumberofentriesinfrontJforanLU·factorization.·Thesymflagpa-\xd | 198 | ····················ThismethodreturnsthenumberofentriesinfrontJforanLU·factorization.·Thesymflagpa-\xd |
199 | ····················rameter·can·be·one·of·SPOOLES·SYMMETRIC,·SPOOLES·HERMITIAN·or·SPOOLES·NONSYMMETRIC.\xd | 199 | ····················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\xd | 200 | ····················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.\xd | 201 | ····················J·<·0,·or·if·J·≥·nfront,·an·error·message·is·printed·and·the·program·exits.\xd |
202 | ······································ETree·:·DRAFT·· | 202 | ······································ETree·:·DRAFT··February·13,·2025···················7\xd |
203 | ···············6.·double·ETree_nInternalOpsInFront·(·ETree·*etree,·int·type,·int·symflag,·int·J·)·;\xd | 203 | ···············6.·double·ETree_nInternalOpsInFront·(·ETree·*etree,·int·type,·int·symflag,·int·J·)·;\xd |
204 | ·················ThismethodreturnsthenumberofinternaloperationsperformedbyfrontJonits(1,1),·(2,1),\xd | 204 | ·················ThismethodreturnsthenumberofinternaloperationsperformedbyfrontJonits(1,1),·(2,1),\xd |
205 | ·················and·(1,2)·blocks·during·a·factorization.·The·type·parameter·can·be·one·of·SPOOLES·REAL\xd | 205 | ·················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\xd | 206 | ·················or·SPOOLES·COMPLEX.·symflag·must·be·one·of·SPOOLES·SYMMETRIC,·SPOOLES·HERMITIAN·or\xd |
207 | ·················SPOOLES·NONSYMMETRIC.\xd | 207 | ·················SPOOLES·NONSYMMETRIC.\xd |
208 | ·················Error·checking:·If·etree·or·tree·is·NULL,·or·if·nfront·<·1,·or·if·type·or·symflag·is·invalid,\xd | 208 | ·················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.\xd | 209 | ·················or·if·J·<·0,·or·if·J·≥·nfront,·an·error·message·is·printed·and·the·program·exits.\xd |
Offset 233, 15 lines modified | Offset 233, 15 lines modified | ||
233 | ·················Error·checking:·If·etree·is·NULL,·or·if·type·or·symflag·is·invalid,·an·error·message·is·printed\xd | 233 | ·················Error·checking:·If·etree·is·NULL,·or·if·type·or·symflag·is·invalid,·an·error·message·is·printed\xd |
234 | ·················and·the·program·exits.\xd | 234 | ·················and·the·program·exits.\xd |
235 | ··············11.·ETree·*·ETree_expand·(·ETree·*etree,·IV·*eqmapIV·)·;\xd | 235 | ··············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\xd | 236 | ·················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.\xd | 237 | ·················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\xd | 238 | ·················Error·checking:·If·etree·or·eqmapIV·is·NULL,·an·error·message·is·printed·and·the·program\xd |
239 | ·················exits.\xd | 239 | ·················exits.\xd |
240 | ··············8··························· | 240 | ··············8···························ETree·:·DRAFT·February·13,·2025\xd |
241 | ···············12.·ETree·*·ETree_spliceTwoEtrees·(·ETree·*etree0,·Graph·*graph,·IV·*mapIV,·ETree·*etree1·)·;\xd | 241 | ···············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\xd | 242 | ··················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\xd | 243 | ··················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\xd | 244 | ··················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.\xd | 245 | ··················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\xd | 246 | ··················Error·checking:·If·etree0,·graph,·mapIV·or·etree1·is·NULL,·an·error·message·is·printed·and\xd |
247 | ··················the·program·exits.\xd | 247 | ··················the·program·exits.\xd |
Offset 266, 15 lines modified | Offset 266, 15 lines modified | ||
266 | ················3.·DV·*·ETree_nopsMetric·(·ETree·*etree,·int·type,·int·symflag·)·;\xd | 266 | ················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\xd | 267 | ··················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\xd | 268 | ··················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\xd | 269 | ··················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.\xd | 270 | ··················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\xd | 271 | ··················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.\xd | 272 | ··················invalid,·an·error·message·is·printed·and·the·program·exits.\xd |
273 | ··············································· | 273 | ···············································ETree·:·DRAFT·······February·13,·2025···························9\xd |
274 | ···············1.2.6····Compression·methods\xd | 274 | ···············1.2.6····Compression·methods\xd |
275 | ···············Frequently·an·ETree·object·will·need·to·be·compressed·in·some·manner.·Elimination·trees·usually\xd | 275 | ···············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\xd | 276 | ···············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\xd | 277 | ···············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\xd | 278 | ···············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.\xd | 279 | ···············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\xd | 280 | ···················Afundamental·chain·is·a·set·of·vertices·v·,...,v···such·that\xd |
Max diff block lines reached; 30245/41385 bytes (73.08%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·Eigen.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·Eigen.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1596, 19 lines modified | Offset 1596, 21 lines modified | ||
1596 | end·readonly·def | 1596 | end·readonly·def |
1597 | /Encoding·256·array | 1597 | /Encoding·256·array |
1598 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1598 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1599 | dup·44·/comma·put | 1599 | dup·44·/comma·put |
1600 | dup·48·/zero·put | 1600 | dup·48·/zero·put |
1601 | dup·49·/one·put | 1601 | dup·49·/one·put |
1602 | dup·50·/two·put | 1602 | dup·50·/two·put |
1603 | dup·51·/three·put | ||
1603 | dup·5 | 1604 | dup·53·/five·put |
1604 | dup·58·/colon·put | 1605 | dup·58·/colon·put |
1605 | dup·7 | 1606 | dup·70·/F·put |
1606 | dup·97·/a·put | 1607 | dup·97·/a·put |
1608 | dup·98·/b·put | ||
1607 | dup·1 | 1609 | dup·101·/e·put |
1608 | dup·114·/r·put | 1610 | dup·114·/r·put |
1609 | dup·117·/u·put | 1611 | dup·117·/u·put |
1610 | dup·121·/y·put | 1612 | dup·121·/y·put |
1611 | readonly·def | 1613 | readonly·def |
1612 | currentdict·end | 1614 | currentdict·end |
1613 | currentfile·eexec | 1615 | currentfile·eexec |
1614 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1616 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1792, 83 lines modified | Offset 1794, 94 lines modified | ||
1792 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1794 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1793 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1795 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1794 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1796 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1795 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1797 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1796 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1798 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1797 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1799 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1798 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1800 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1799 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1801 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1800 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1801 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1802 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1803 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1804 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1805 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1806 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1807 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1808 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1809 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1810 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1811 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1812 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1813 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1814 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1815 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1816 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1817 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1818 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1819 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1820 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1821 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1822 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1823 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1824 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1825 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1826 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1827 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1828 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1829 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1830 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1831 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1832 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1833 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1834 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1835 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1836 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1837 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1838 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1839 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1840 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1841 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1842 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1843 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1844 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1845 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1846 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1847 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1848 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1849 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1850 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1851 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1852 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1853 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1854 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1855 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1856 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1857 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1858 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1859 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1860 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1861 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1862 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1863 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1864 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1865 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1866 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1867 | 1802 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1803 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1804 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1805 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1806 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1807 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1808 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1809 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1810 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1811 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1812 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1813 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1814 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1815 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 68766/80310 bytes (85.63%) of diff not shown. |
Offset 1, 12 lines modified | Offset 1, 12 lines modified | ||
1 | ····················Integrating·the·SPOOLES·2.2·Sparse·Linear·Algebra·Library\xd | 1 | ····················Integrating·the·SPOOLES·2.2·Sparse·Linear·Algebra·Library\xd |
2 | ·························into·the·LANCZOS·Block-shifted·Lanczos·Eigensolver\xd | 2 | ·························into·the·LANCZOS·Block-shifted·Lanczos·Eigensolver\xd |
3 | ··········································Cleve·Ashcraft·······················Jim·Patterson\xd | 3 | ··········································Cleve·Ashcraft·······················Jim·Patterson\xd |
4 | ····································Boeing·Phantom·Works1················Boeing·Phantom·Works2\xd | 4 | ····································Boeing·Phantom·Works1················Boeing·Phantom·Works2\xd |
5 | ··························································· | 5 | ···························································February·13,·2025\xd |
6 | ···················1P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,·cleve.ashcraft@boeing.com.·This·research\xd | 6 | ···················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\xd | 7 | ·················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.\xd | 8 | ·················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-\xd | 9 | ···················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\xd | 10 | ·················search·was·supportedin·part·bytheDARPAContractDABT63-95-C-0122·andtheDoDHighPerformanceComputing\xd |
11 | ·················Modernization·Program·Common·HPC·Software·Support·Initiative.\xd | 11 | ·················Modernization·Program·Common·HPC·Software·Support·Initiative.\xd |
12 | ··················Contents\xd | 12 | ··················Contents\xd |
Offset 55, 15 lines modified | Offset 55, 15 lines modified | ||
55 | ·····································b····b\xd | 55 | ·····································b····b\xd |
56 | ··············izations·and·solves·involving·A·and·B.·This·permutation·matrix·P·is·typically·found·by·ordering·the·graph\xd | 56 | ··············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\xd | 57 | ··············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.,\xd | 58 | ··············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,\xd | 59 | ··············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\xd | 60 | ··············analyzing·the·factorization·and·solves·and·specifying·which·threads·or·processors·perform·what·computations\xd |
61 | ························································2\xd | 61 | ························································2\xd |
62 | ·································SPOOLES·2.2·Wrapper·Objects·:·· | 62 | ·································SPOOLES·2.2·Wrapper·Objects·:··February·13,·2025·············3\xd |
63 | ·············and·store·what·data.·In·a·distributed·environment,·the·entries·of·A·and·B·must·also·be·distributed·among\xd | 63 | ·············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.\xd | 64 | ·············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\xd | 65 | ················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.\xd | 66 | ·············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-\xd | 67 | ·············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\xd | 68 | ·············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\xd | 69 | ·············imposed·by·the·eigensolver,·and·are·passed·to·the·eigensolver·at·the·beginning·of·the·Lanczos·run.·The\xd |
Offset 91, 15 lines modified | Offset 91, 15 lines modified | ||
91 | ···············and·are·used·in·the·solves.\xd | 91 | ···············and·are·used·in·the·solves.\xd |
92 | ·············•·FrontMtx·*frontmtx·:·object·that·stores·the·L,·D·and·U·factor·matrices.\xd | 92 | ·············•·FrontMtx·*frontmtx·:·object·that·stores·the·L,·D·and·U·factor·matrices.\xd |
93 | ·············•·IV·*oldToNewIV·:·object·that·stores·old-to-new·permutation·vector.\xd | 93 | ·············•·IV·*oldToNewIV·:·object·that·stores·old-to-new·permutation·vector.\xd |
94 | ·············•·IV·*newToOldIV·:·object·that·stores·new-to-old·permutation·vector.\xd | 94 | ·············•·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.\xd | 95 | ·············•·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.\xd | 96 | ·············•·DenseMtx·*Y·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd |
97 | ·············································4\xd | 97 | ·············································4\xd |
98 | ·································SPOOLES·2.2·Wrapper·Objects·:·· | 98 | ·································SPOOLES·2.2·Wrapper·Objects·:··February·13,·2025·············5\xd |
99 | ················•·int·msglvl·:·message·level·for·output.·When·0,·no·output,·When·1,·just·statistics·and·cpu·times.\xd | 99 | ················•·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.\xd | 100 | ·················When·greater·than·1,·more·and·more·output.\xd |
101 | ················•·FILE·*msgFile·:·message·file·for·output.·When·msglvl·>·0,·msgFile·must·not·be·NULL.\xd | 101 | ················•·FILE·*msgFile·:·message·file·for·output.·When·msglvl·>·0,·msgFile·must·not·be·NULL.\xd |
102 | ·············2.2····Prototypes·and·descriptions·of·Bridge·methods\xd | 102 | ·············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.\xd | 103 | ·············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,\xd | 104 | ···············1.·int·Setup·(·void·*data,·int·*pprbtype,·int·*pneqns,·int·*pmxbsz,\xd |
105 | ····························InpMtx·*A,·InpMtx·*B,·int·*pseed,·int·*pmsglvl,·FILE·*msgFile·)·;\xd | 105 | ····························InpMtx·*A,·InpMtx·*B,·int·*pseed,·int·*pmsglvl,·FILE·*msgFile·)·;\xd |
Offset 131, 15 lines modified | Offset 131, 15 lines modified | ||
131 | ·····················The·frontETree·object·is·produced·and·placed·into·the·bridge·object.\xd | 131 | ·····················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\xd | 132 | ····················•·Old-to-new·and·new-to-old·permutations·are·extracted·from·the·front·tree·and·loaded·into·the\xd |
133 | ·····················Bridge·object.\xd | 133 | ·····················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\xd | 134 | ····················•·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\xd | 135 | ·····················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.\xd | 136 | ·····················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.\xd | 137 | ····················•·The·symbolic·factorization·is·then·computed·and·loaded·in·the·Bridge·object.\xd |
138 | ··········································SPOOLES·2.2·Wrapper·Objects·:············ | 138 | ··········································SPOOLES·2.2·Wrapper·Objects·:············February·13,·2025·····················6\xd |
139 | ·························•·A·FrontMtx·object·is·created·to·hold·the·factorization·and·loaded·into·the·Bridge·object.\xd | 139 | ·························•·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\xd | 140 | ·························•·A·SubMtxManager·object·is·created·to·hold·the·factor’s·submatrices·and·loaded·into·the·Bridge\xd |
141 | ···························object.\xd | 141 | ···························object.\xd |
142 | ·························•·Two·DenseMtx·objects·are·created·to·be·used·during·the·matrix·multiplies·and·solves.\xd | 142 | ·························•·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-\xd | 143 | ······················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\xd | 144 | ······················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.\xd | 145 | ······················must·be·permuted·back·into·their·original·ordering·using·the·oldToNewIV·and·newToOldIV·objects.\xd |
Offset 173, 15 lines modified | Offset 173, 15 lines modified | ||
173 | ·························•·double·X[]·—·this·is·the·X·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd | 173 | ·························•·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.\xd | 174 | ·························•·double·Y[]·—·this·is·the·Y·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd |
175 | ·························•·int·*pprbtype·—·*pprbtype·holds·the·problem·type.\xd | 175 | ·························•·int·*pprbtype·—·*pprbtype·holds·the·problem·type.\xd |
176 | ·····························–·1·—·vibration,·a·multiply·with·B·is·required.\xd | 176 | ·····························–·1·—·vibration,·a·multiply·with·B·is·required.\xd |
177 | ·····························–·2·—·buckling,·a·multiply·with·A·is·required.\xd | 177 | ·····························–·2·—·buckling,·a·multiply·with·A·is·required.\xd |
178 | ·····························–·3·—·simple,·no·multiply·is·required.\xd | 178 | ·····························–·3·—·simple,·no·multiply·is·required.\xd |
179 | ·························•·void·*data·—·a·pointer·to·the·Bridge·object.\xd | 179 | ·························•·void·*data·—·a·pointer·to·the·Bridge·object.\xd |
180 | ········································SPOOLES·2.2·Wrapper·Objects·:·········· | 180 | ········································SPOOLES·2.2·Wrapper·Objects·:··········February·13,·2025···················7\xd |
181 | ···················4.·void·Solve·(·int·*pnrows,·int·*pncols,·double·X[],·double·Y[],\xd | 181 | ···················4.·void·Solve·(·int·*pnrows,·int·*pncols,·double·X[],·double·Y[],\xd |
182 | ····································void·*data,·int·*perror·)·;\xd | 182 | ····································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().\xd | 183 | ·····················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.\xd | 184 | ·····················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.\xd | 185 | ························•·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.\xd | 186 | ························•·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.\xd | 187 | ························•·double·X[]·—·this·is·the·X·matrix,·stored·column·major·with·leading·dimension·*pnrows.\xd |
Offset 207, 15 lines modified | Offset 207, 15 lines modified | ||
207 | ···················•·inFileB·is·the·Harwell-Boeing·file·for·the·matrix·B.\xd | 207 | ···················•·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.\xd | 208 | ················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.\xd | 209 | ···················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.\xd | 210 | ···················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.\xd | 211 | ···················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.\xd | 212 | ···················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.\xd | 213 | ···················4.·The·Lanczos·eigensolver·workspace·is·initialized.\xd |
214 | ·································SPOOLES·2.2·Wrapper·Objects·:·· | 214 | ·································SPOOLES·2.2·Wrapper·Objects·:··February·13,·2025·············8\xd |
215 | ···············5.·The·Lanczos·communication·structure·is·filled·with·some·parameters.\xd | 215 | ···············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\xd | 216 | ···············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.\xd | 217 | ·················objects·from·the·SPOOLES·library.\xd |
218 | ···············7.·The·linear·solver·environment·is·then·initialized·via·a·call·to·Setup().\xd | 218 | ···············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()\xd | 219 | ···············8.·The·eigensolver·is·invoked·via·a·call·to·lanczos·run().·The·FactorMT(),·SolveMT()·and·MatMulMT()\xd |
220 | ·················methods·are·passed·to·this·routine.\xd | 220 | ·················methods·are·passed·to·this·routine.\xd |
221 | ···············9.·The·eigenvalues·are·extracted·and·printed·via·a·call·to·lanczos·eigenvalues().\xd | 221 | ···············9.·The·eigenvalues·are·extracted·and·printed·via·a·call·to·lanczos·eigenvalues().\xd |
Offset 243, 53 lines modified | Offset 243, 53 lines modified | ||
243 | ···············where·it·is·contained.\xd | 243 | ···············where·it·is·contained.\xd |
244 | ·············•·IVL·*symbfacIVL·:·object·that·contains·the·symbolic·factorization·of·the·matrix.\xd | 244 | ·············•·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\xd | 245 | ·············•·SubMtxManager·*mtxmanager·:·object·that·manages·the·SubMtx·objects·that·store·the·factor·entries\xd |
246 | ···············and·are·used·in·the·solves.\xd | 246 | ···············and·are·used·in·the·solves.\xd |
247 | ·············•·FrontMtx·*frontmtx·:·object·that·stores·the·L,·D·and·U·factor·matrices.\xd | 247 | ·············•·FrontMtx·*frontmtx·:·object·that·stores·the·L,·D·and·U·factor·matrices.\xd |
248 | ·············•·IV·*oldToNewIV·:·object·that·stores·old-to-new·permutation·vector.\xd | 248 | ·············•·IV·*oldToNewIV·:·object·that·stores·old-to-new·permutation·vector.\xd |
249 | ·············································9\xd | 249 | ·············································9\xd |
250 | ······························· | 250 | ·······························SPOOLES2.2·Wrapper·Objects·:··February·13,·2025············10\xd |
251 | ··············· | 251 | ···············•·IV·*newToOldIV·:·object·that·stores·new-to-old·permutation·vector.\xd |
252 | ··············· | 252 | ···············•·DenseMtx·*X·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd |
253 | ··············· | 253 | ···············•·DenseMtx·*Y·:·dense·matrix·object·that·is·used·during·the·matrix·multiples·and·solves.\xd |
254 | ··············· | 254 | ···············•·IV·*ownersIV·:·object·that·maps·fronts·to·owning·threads·for·the·factorization·and·matrix-multiplies.\xd |
255 | ··············· | 255 | ···············•·SolveMap·*solvemap·:·object·that·maps·factor·submatrices·to·owning·threads·for·the·solve.\xd |
256 | ··············· | 256 | ···············•·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.\xd | 257 | ·················When·greater·than·1,·more·and·more·output.\xd |
258 | ··············· | 258 | ···············•·FILE·*msgFile·:·message·file·for·output.·When·msglvl·>·0,·msgFile·must·not·be·NULL.\xd |
259 | ·············3.2··· | 259 | ·············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\xd | 260 | ·············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·BridgeMT\xd |
261 | ·············object.\xd | 261 | ·············object.\xd |
262 | ···············1.·int·SetupMT·(·void·*data,·int·*pprbtype,·int·*pneqns,\xd | 262 | ···············1.·int·SetupMT·(·void·*data,·int·*pprbtype,·int·*pneqns,\xd |
263 | ····························· | 263 | ·····························int·*pmxbsz,·InpMtx·*A,·InpMtx·*B,·int·*pseed,\xd |
264 | ····························· | 264 | ·····························int·*pnthread,·int·*pmsglvl,·FILE·*msgFile·)·;\xd |
265 | ·················All·calling·sequence·parameters·are·pointers·to·more·easily·allow·an·interface·with·Fortran.\xd | 265 | ·················All·calling·sequence·parameters·are·pointers·to·more·easily·allow·an·interface·with·Fortran.\xd |
266 | ··················· | 266 | ···················•·void·*data·—·a·pointer·to·the·BridgeMT·object.\xd |
267 | ··················· | 267 | ···················•·int·*pprbtype·—·*pprbtype·holds·the·problem·type.\xd |
268 | ······················ | 268 | ······················–·1·—·vibration,·a·multiply·with·B·is·required.\xd |
269 | ······················ | 269 | ······················–·2·—·buckling,·a·multiply·with·A·is·required.\xd |
270 | ······················ | 270 | ······················–·3·—·simple,·no·multiply·is·required.\xd |
271 | ··················· | 271 | ···················•·int·*pneqns·—·*pneqns·is·the·number·of·equations.\xd |
272 | ··················· | 272 | ···················•·int·*pmxbsz·—·*pmxbsz·is·an·upper·bound·on·the·block·size.\xd |
273 | ··················· | 273 | ···················•·InpMtx·*A·—·A·is·a·SPOOLES·object·that·holds·the·matrix·A.\xd |
274 | ··················· | 274 | ···················•·InpMtx·*B·—·B·is·a·SPOOLES·object·that·holds·the·matrix·B.·For·an·ordinary·eigenproblem,\xd |
275 | ···················· | 275 | ····················B·is·the·identity·and·B·is·NULL.\xd |
276 | ··················· | 276 | ···················•·int·*pseed·—·*pseed·is·a·random·number·seed.\xd |
Max diff block lines reached; 92524/107396 bytes (86.15%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·FrontMtx.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·FrontMtx.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1760, 19 lines modified | Offset 1760, 21 lines modified | ||
1760 | end·readonly·def | 1760 | end·readonly·def |
1761 | /Encoding·256·array | 1761 | /Encoding·256·array |
1762 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1762 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1763 | dup·44·/comma·put | 1763 | dup·44·/comma·put |
1764 | dup·48·/zero·put | 1764 | dup·48·/zero·put |
1765 | dup·49·/one·put | 1765 | dup·49·/one·put |
1766 | dup·50·/two·put | 1766 | dup·50·/two·put |
1767 | dup·51·/three·put | ||
1767 | dup·5 | 1768 | dup·53·/five·put |
1768 | dup·58·/colon·put | 1769 | dup·58·/colon·put |
1769 | dup·7 | 1770 | dup·70·/F·put |
1770 | dup·97·/a·put | 1771 | dup·97·/a·put |
1772 | dup·98·/b·put | ||
1771 | dup·1 | 1773 | dup·101·/e·put |
1772 | dup·114·/r·put | 1774 | dup·114·/r·put |
1773 | dup·117·/u·put | 1775 | dup·117·/u·put |
1774 | dup·121·/y·put | 1776 | dup·121·/y·put |
1775 | readonly·def | 1777 | readonly·def |
1776 | currentdict·end | 1778 | currentdict·end |
1777 | currentfile·eexec | 1779 | currentfile·eexec |
1778 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1780 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1956, 83 lines modified | Offset 1958, 94 lines modified | ||
1956 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1958 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1957 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1959 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1958 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1960 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1959 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1961 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1960 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1962 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1961 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1963 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1962 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1964 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1963 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1965 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1964 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1965 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1966 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1967 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1968 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1969 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1970 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1971 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1972 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1973 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1974 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1975 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1976 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1977 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1978 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1979 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1980 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1981 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1982 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1983 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1984 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1985 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1986 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1987 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1988 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1989 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1990 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1991 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1992 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1993 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1994 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1995 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1996 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1997 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1998 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1999 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2000 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2001 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2002 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2003 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2004 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2005 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2006 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2007 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2008 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2009 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2010 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2011 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2012 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2013 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2014 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2015 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2016 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2017 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2018 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2019 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2020 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2021 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2022 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2023 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2024 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2025 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2026 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2027 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2028 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2029 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2030 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2031 | 1966 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1967 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1968 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1969 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1970 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1971 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1972 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1973 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1974 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1975 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1976 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1977 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1978 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1979 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 52129/63676 bytes (81.87%) of diff not shown. |
Offset 23, 15 lines modified | Offset 23, 15 lines modified | ||
23 | ··········are·disjoint.·P·is·a·permutation·matrix.·If·pivoting·is·not·used,·P·is·the·identity.\xd | 23 | ··········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\xd | 24 | ········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.\xd | 25 | ··········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.\xd | 26 | ··········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\xd | 27 | ········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.\xd | 28 | ··········computed·or·stored.·R·is·upper·triangular.\xd |
29 | ·····························1\xd | 29 | ·····························1\xd |
30 | ············2························ | 30 | ············2························FrontMtx·:·DRAFT·February·13,·2025\xd |
31 | ···············The·factorization·is·performed·using·a·one·dimensional·decomposition·of·the·global·sparse\xd | 31 | ···············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.\xd | 32 | ············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\xd | 33 | ············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\xd | 34 | ············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-\xd | 35 | ············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\xd | 36 | ············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.\xd | 37 | ············processors,·the·cost·of·the·communication·to·select·pivot·elements·would·be·intolerable.\xd |
Offset 56, 15 lines modified | Offset 56, 15 lines modified | ||
56 | ···············•·The·linear·combination·A+σB·is·found·in·a·Pencil·object.\xd | 56 | ···············•·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\xd | 57 | ···············•·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\xd | 58 | ·················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\xd | 59 | ·················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\xd | 60 | ·················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\xd | 61 | ·················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.\xd | 62 | ·················object.·Thus·multiple·front·matrices·can·all·point·to·the·same·ETree·object·simultaneously.\xd |
63 | ···································· | 63 | ····································FrontMtx·:·DRAFT···February·13,·2025··················3\xd |
64 | ···············•·An·IVL·object·(Integer·Vector·List),·contains·the·symbolic·factorization.·For·each·front,·it\xd | 64 | ···············•·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\xd | 65 | ·················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\xd | 66 | ·················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\xd | 67 | ·················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\xd | 68 | ·················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\xd | 69 | ·················solves.·As·for·the·ETree·object,·the·symbolic·factorization·is·neither·modified·or·owned·by\xd |
70 | ·················the·front·matrix·object.\xd | 70 | ·················the·front·matrix·object.\xd |
Offset 96, 15 lines modified | Offset 96, 15 lines modified | ||
96 | ·················postponed·data·(when·pivoting·is·enabled)·or·aggregate·data·(in·a·parallel·factorization),·and\xd | 96 | ·················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.\xd | 97 | ·················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\xd | 98 | ···············•·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\xd | 99 | ·················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\xd | 100 | ·················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\xd | 101 | ·················coupling·between·fronts.·The·working·storage·during·the·solves·is·also·managed·by·SubMtx\xd |
102 | ·················objects.\xd | 102 | ·················objects.\xd |
103 | ···········4·····················FrontMtx·:·DRAFT· | 103 | ···········4·····················FrontMtx·:·DRAFT·February·13,·2025\xd |
104 | ··············•·Each·submatrix·represents·the·coupling·between·two·fronts,·I·and·J.·To·enable·rapid·random\xd | 104 | ··············•·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\xd | 105 | ···············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.\xd | 106 | ···············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\xd | 107 | ··············•·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\xd | 108 | ···············one·or·two·IVL·objects.·This·information·is·necessary·for·the·factorization·and·forward·and\xd |
109 | ···············backsolves.\xd | 109 | ···············backsolves.\xd |
110 | ··············•·The·factorization·and·solves·require·lists·of·fronts·and·submatrices·to·manage·assembly·of\xd | 110 | ··············•·The·factorization·and·solves·require·lists·of·fronts·and·submatrices·to·manage·assembly·of\xd |
Offset 131, 15 lines modified | Offset 131, 15 lines modified | ||
131 | ··············•·int·pivotingflag·:·flag·to·specify·pivoting·for·stability,\xd | 131 | ··············•·int·pivotingflag·:·flag·to·specify·pivoting·for·stability,\xd |
132 | ·················–·SPOOLES·NO·PIVOTING·—·pivoting·not·used\xd | 132 | ·················–·SPOOLES·NO·PIVOTING·—·pivoting·not·used\xd |
133 | ·················–·SPOOLES·PIVOTING·—·pivoting·used\xd | 133 | ·················–·SPOOLES·PIVOTING·—·pivoting·used\xd |
134 | ··············•·int·sparsityflag·:·flag·to·specify·storage·of·factors.\xd | 134 | ··············•·int·sparsityflag·:·flag·to·specify·storage·of·factors.\xd |
135 | ·················–·0·—·each·front·is·dense\xd | 135 | ·················–·0·—·each·front·is·dense\xd |
136 | ·················–·1·—·a·front·may·be·sparse·due·to·entries·dropped·because·they·are·below·a·drop\xd | 136 | ·················–·1·—·a·front·may·be·sparse·due·to·entries·dropped·because·they·are·below·a·drop\xd |
137 | ···················tolerance.\xd | 137 | ···················tolerance.\xd |
138 | ···································· | 138 | ····································FrontMtx·:·DRAFT···February·13,·2025··················5\xd |
139 | ···············•·int·dataMode·:·flag·to·specify·data·storage.\xd | 139 | ···············•·int·dataMode·:·flag·to·specify·data·storage.\xd |
140 | ···················–·1·—·one-dimensional,·used·during·the·factorization.\xd | 140 | ···················–·1·—·one-dimensional,·used·during·the·factorization.\xd |
141 | ···················–·2·—·two-dimensional,·used·during·the·solves.\xd | 141 | ···················–·2·—·two-dimensional,·used·during·the·solves.\xd |
142 | ···············•·int·nentD·:·number·of·entries·in·D\xd | 142 | ···············•·int·nentD·:·number·of·entries·in·D\xd |
143 | ···············•·int·nentL·:·number·of·entries·in·L\xd | 143 | ···············•·int·nentL·:·number·of·entries·in·L\xd |
144 | ···············•·int·nentU·:·number·of·entries·in·U\xd | 144 | ···············•·int·nentU·:·number·of·entries·in·U\xd |
145 | ···············•·Tree·*tree:·Treeobjectthatholdsthetreeoffronts.·Note,·normallythisisfrontETree->tree,\xd | 145 | ···············•·Tree·*tree:·Treeobjectthatholdsthetreeoffronts.·Note,·normallythisisfrontETree->tree,\xd |
Offset 165, 15 lines modified | Offset 165, 15 lines modified | ||
165 | ·················used·only·during·a·nonsymmetric·factorization.\xd | 165 | ·················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,\xd | 166 | ···············•·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.\xd | 167 | ·················used·only·during·a·nonsymmetric·factorization.\xd |
168 | ···············•·I2Ohash·*lowerhash·:·pointer·to·a·I2Ohash·hash·table·for·submatrices·in·L,·used·during\xd | 168 | ···············•·I2Ohash·*lowerhash·:·pointer·to·a·I2Ohash·hash·table·for·submatrices·in·L,·used·during\xd |
169 | ·················the·solves.\xd | 169 | ·················the·solves.\xd |
170 | ···············•·I2Ohash·*upperhash·:·pointer·to·a·I2Ohash·hash·table·for·submatrices·in·U,·used·during\xd | 170 | ···············•·I2Ohash·*upperhash·:·pointer·to·a·I2Ohash·hash·table·for·submatrices·in·U,·used·during\xd |
171 | ·················the·solves.\xd | 171 | ·················the·solves.\xd |
172 | ···········6·····················FrontMtx·:·DRAFT· | 172 | ···········6·····················FrontMtx·:·DRAFT·February·13,·2025\xd |
173 | ··············•·SubMtxManager·*manager·:·pointer·to·an·object·that·manages·the·instances·of·submatrices\xd | 173 | ··············•·SubMtxManager·*manager·:·pointer·to·an·object·that·manages·the·instances·of·submatrices\xd |
174 | ···············during·the·factors·and·solves.\xd | 174 | ···············during·the·factors·and·solves.\xd |
175 | ··············•·Lock·*lock·:·pointer·to·a·Lock·lock·used·in·a·multithreaded·environment·to·ensure·exlusive\xd | 175 | ··············•·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\xd | 176 | ···············access·while·allocating·storage·in·the·IV·and·IVL·objects.·This·is·not·used·in·a·serial·or·MPI\xd |
177 | ···············environment.\xd | 177 | ···············environment.\xd |
178 | ··············•·int·nlocks·:·number·of·times·the·lock·has·been·locked.\xd | 178 | ··············•·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\xd | 179 | ··············•·PatchAndGo·*info·:·this·is·a·pointer·to·an·object·that·is·used·by·the·Chv·object·during·the\xd |
Offset 196, 15 lines modified | Offset 196, 15 lines modified | ||
196 | ··············•·FRONTMTX·IS·1D·MODE(frontmtx)·is·1·if·the·factor·are·still·stored·as·a·one-dimensional·data\xd | 196 | ··············•·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.\xd | 197 | ···············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\xd | 198 | ··············•·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.\xd | 199 | ···············decomposition·(i.e.,·the·matrix·has·been·post-processed),·and·0·otherwise.\xd |
200 | ···········1.2··Prototypes·and·descriptions·of·FrontMtx·methods\xd | 200 | ···········1.2··Prototypes·and·descriptions·of·FrontMtx·methods\xd |
201 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 201 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
202 | ···········FrontMtx·object.\xd | 202 | ···········FrontMtx·object.\xd |
203 | ···································· | 203 | ····································FrontMtx·:·DRAFT···February·13,·2025··················7\xd |
204 | ············1.2.1··Basic·methods\xd | 204 | ············1.2.1··Basic·methods\xd |
205 | ············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 205 | ············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.\xd | 206 | ············any·allocated·data,·and·free’ing·the·object.\xd |
207 | ···············1.·FrontMtx·*·FrontMtx_new·(·void·)·;\xd | 207 | ···············1.·FrontMtx·*·FrontMtx_new·(·void·)·;\xd |
208 | ·················This·method·simply·allocates·storage·for·the·FrontMtx·structure·and·then·sets·the·default\xd | 208 | ·················This·method·simply·allocates·storage·for·the·FrontMtx·structure·and·then·sets·the·default\xd |
209 | ·················fields·by·a·call·to·FrontMtx·setDefaultFields().\xd | 209 | ·················fields·by·a·call·to·FrontMtx·setDefaultFields().\xd |
210 | ···············2.·void·FrontMtx_setDefaultFields·(·FrontMtx·*frontmtx·)·;\xd | 210 | ···············2.·void·FrontMtx_setDefaultFields·(·FrontMtx·*frontmtx·)·;\xd |
Offset 231, 15 lines modified | Offset 231, 15 lines modified | ||
231 | ············1.2.2··Instance·methods\xd | 231 | ············1.2.2··Instance·methods\xd |
232 | ···············1.·int·FrontMtx_nfront·(·FrontMtx·*frontmtx·)·;\xd | 232 | ···············1.·int·FrontMtx_nfront·(·FrontMtx·*frontmtx·)·;\xd |
233 | ·················This·method·returns·the·number·of·fronts·in·the·matrix.\xd | 233 | ·················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.\xd | 234 | ·················Error·checking:·If·frontmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
235 | ···············2.·int·FrontMtx_neqns·(·FrontMtx·*frontmtx·)·;\xd | 235 | ···············2.·int·FrontMtx_neqns·(·FrontMtx·*frontmtx·)·;\xd |
236 | ·················This·method·returns·the·number·of·equations·in·the·matrix.\xd | 236 | ·················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.\xd | 237 | ·················Error·checking:·If·frontmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
238 | ···············8····························· | 238 | ···············8·····························FrontMtx·:·DRAFT·February·13,·2025\xd |
239 | ··················3.·Tree·*·FrontMtx_frontTree·(·FrontMtx·*frontmtx·)·;\xd | 239 | ··················3.·Tree·*·FrontMtx_frontTree·(·FrontMtx·*frontmtx·)·;\xd |
240 | ·····················This·method·returns·the·Tree·object·for·the·fronts.\xd | 240 | ·····················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.\xd | 241 | ·····················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,\xd | 242 | ··················4.·void·FrontMtx_initialFrontDimensions·(·FrontMtx·*frontmtx,·int·J,\xd |
243 | ···················································int·*pnD,·int·*pnL,·int·*pnU,·int·*pnbytes·)·;\xd | 243 | ···················································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,\xd | 244 | ·····················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\xd | 245 | ·····················number·of·rows·in·the·lower·block,·number·of·columns·in·the·upper·block,·and·number·of\xd |
Offset 269, 15 lines modified | Offset 269, 15 lines modified | ||
269 | ·····················Error·checking:·If·frontmtx,·pnrow·or·pindices·is·NULL,·or·if·J·is·not·in·[0,nfront),·an\xd | 269 | ·····················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.\xd | 270 | ·····················error·message·is·printed·and·the·program·exits.\xd |
271 | ··················9.·SubMtx·*·FrontMtx_diagMtx·(·FrontMtx·*frontmtx,·int·J·)·;\xd | 271 | ··················9.·SubMtx·*·FrontMtx_diagMtx·(·FrontMtx·*frontmtx,·int·J·)·;\xd |
272 | ·····················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·D··.\xd | 272 | ·····················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·D··.\xd |
273 | ··························································································J,J\xd | 273 | ··························································································J,J\xd |
274 | ·····················Error·checking:·If·frontmtx·is·NULL,·or·if·J·is·not·in·[0,nfront),·an·error·message·is·printed\xd | 274 | ·····················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.\xd | 275 | ·····················and·the·program·exits.\xd |
276 | ···································· | 276 | ····································FrontMtx·:·DRAFT···February·13,·2025··················9\xd |
277 | ··············10.·SubMtx·*·FrontMtx_upperMtx·(·FrontMtx·*frontmtx,·int·J,·int·K·)·;\xd | 277 | ··············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,\xd | 278 | ·················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.\xd | 279 | ·················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],\xd | 280 | ·················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.\xd | 281 | ·················an·error·message·is·printed·and·the·program·exits.\xd |
282 | ··············11.·SubMtx·*·FrontMtx_lowerMtx·(·FrontMtx·*frontmtx,·int·K,·int·J·)·;\xd | 282 | ··············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,\xd | 283 | ·················This·method·returns·a·pointer·to·the·object·that·contains·submatrix·LK,J.·If·K·=·nfront,\xd |
Max diff block lines reached; 19967/31237 bytes (63.92%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·FrontTrees.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·FrontTrees.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 3346, 20 lines modified | Offset 3346, 21 lines modified | ||
3346 | end·readonly·def | 3346 | end·readonly·def |
3347 | /Encoding·256·array | 3347 | /Encoding·256·array |
3348 | 0·1·255·{1·index·exch·/.notdef·put}·for | 3348 | 0·1·255·{1·index·exch·/.notdef·put}·for |
3349 | dup·44·/comma·put | 3349 | dup·44·/comma·put |
3350 | dup·48·/zero·put | 3350 | dup·48·/zero·put |
3351 | dup·49·/one·put | 3351 | dup·49·/one·put |
3352 | dup·50·/two·put | 3352 | dup·50·/two·put |
3353 | dup·51·/three·put | ||
3353 | dup·5 | 3354 | dup·53·/five·put |
3354 | dup·70·/F·put | 3355 | dup·70·/F·put |
3355 | dup·74·/J·put | ||
3356 | dup·79·/O·put | 3356 | dup·79·/O·put |
3357 | dup·84·/T·put | 3357 | dup·84·/T·put |
3358 | dup·97·/a·put | 3358 | dup·97·/a·put |
3359 | dup·98·/b·put | ||
3359 | dup·100·/d·put | 3360 | dup·100·/d·put |
3360 | dup·101·/e·put | 3361 | dup·101·/e·put |
3361 | dup·103·/g·put | 3362 | dup·103·/g·put |
3362 | dup·105·/i·put | 3363 | dup·105·/i·put |
3363 | dup·110·/n·put | 3364 | dup·110·/n·put |
3364 | dup·111·/o·put | 3365 | dup·111·/o·put |
3365 | dup·114·/r·put | 3366 | dup·114·/r·put |
Offset 3547, 135 lines modified | Offset 3548, 143 lines modified | ||
3547 | 60F5C3F629F7BC5A27C207D70DE63FBE0E023452097D5B7AA5B2CAC668D4D075 | 3548 | 60F5C3F629F7BC5A27C207D70DE63FBE0E023452097D5B7AA5B2CAC668D4D075 |
3548 | 1A0F70683E96AE35A6BA0B59619C215A7012568991AFC0C35789DD0ECE45C649 | 3549 | 1A0F70683E96AE35A6BA0B59619C215A7012568991AFC0C35789DD0ECE45C649 |
3549 | F44580845F0FA422868CFCC8029513235C0286B76196E350498845EA934DF289 | 3550 | F44580845F0FA422868CFCC8029513235C0286B76196E350498845EA934DF289 |
3550 | 1D0C954B079BD2977384B96D8460B4F50EE635A4C8F7A3B6866F93CA641F3F2C | 3551 | 1D0C954B079BD2977384B96D8460B4F50EE635A4C8F7A3B6866F93CA641F3F2C |
3551 | C93ECCD6BBCD792189A12FC9366BA7134EFD67A22B4FD62465250E0BA6B7C627 | 3552 | C93ECCD6BBCD792189A12FC9366BA7134EFD67A22B4FD62465250E0BA6B7C627 |
3552 | 73E8F50E379328B7FABA341B0D50F9A2CFB055E01DDF6BBCF6FE4114BC36C10B | 3553 | 73E8F50E379328B7FABA341B0D50F9A2CFB055E01DDF6BBCF6FE4114BC36C10B |
3553 | E581D76A84EA12995506C33DAE9035683FBD5F54AA1545992B94B8ED946E5866 | 3554 | E581D76A84EA12995506C33DAE9035683FBD5F54AA1545992B94B8ED946E5866 |
3554 | 2F2CF265A5AE5DF94A417B9C586F6B9C596D5A5CEFE74F770B8779D3CDEACF5E | ||
3555 | 4DEC459759D7D3D77E7B60A16227426FF8C81730EEBF03D84CCD2B72602D2A8F | ||
3556 | 76384DB473890FA5F27B754832C547717B04A1FC5EBFE112917604D7233B3B9F | ||
3557 | FE133B09AAFC8C60E806F3A2A811EB19B57E9F174F71E74E1BF08845925D5CEE | ||
3558 | D8B32184B962EEFF0432AE8F4ACD5D181C186B6C87AE283E6F3B6399730155B1 | ||
3559 | 34BC5A74637D22B4AC24A765F4CB1881306E9D114472DB2D8482D3E70456875D | ||
3560 | 74EC2A7E24F94C1B867EA193FADA6F132370A02A7F704404421DBBEEF4D377B0 | ||
3561 | 6FD3B44C4B53DF870E932BA700422DD125FC00D210197A2B78C149C9C3BF04A4 | ||
3562 | E3EF6A6176E23204BCFB04D985B1196C831374A8CD31383AFB3C87043C72FA82 | ||
3563 | A1B0ED2BA5E4D5BA203A2AA4BFD55326A66FCCDB12DCBD02B6ED0F28E45EECA8 | ||
3564 | 70BEDF7F2909377917D58E976F8283A3B798F7905E325CBCF79DC80AB64453B8 | ||
3565 | 5A622A384230B4229D6DE94BA7D1CFAAB8227EB9931552D0098567342D498AEA | ||
3566 | D55F4826ED6ABA190A03260CF4D1B0C4836CE4EAD15879E10551DFD35A8C5E63 | ||
3567 | 97F7C2E5B1106EED3746A1716376B43FA6D812C42A0F4E7DC8228619785077D9 | ||
3568 | 91391138EA6A07CE358D213C09806D499A88D575358723E331CB230DD4CB1274 | ||
3569 | 7BDB660BA3129D27BE899A0764CA6BE06A84B08C9EA649010DAD65570A579F24 | ||
3570 | 1F3EB9F89B2155DDAF488C120BBE1D5076E650B4C5654ACB4DC2C72ED33769F8 | ||
3571 | ED6B343D0711FB967996E7A9565B70A4C034294C82806EDD634136CE03248079 | ||
3572 | 1DA779C965AD668C8C5FFCBD07A47E02070040A5885DF629FFD3A7E76D5F0C5F | ||
3573 | 2CEDB17238D3BFED9D1DB31CB9CEDB14F488C11E77C09253269740FCDAF11B12 | ||
3574 | 37C2003DFA53FFDC79D40C2E8E322EC1710730E2B749997151153ADC3D84A664 | ||
3575 | 1EC17E36BB7B12A561BDA48A0DA8C0DFE404FE6CDAFD4F029BD7155EE13414C9 | ||
3576 | E77978EABFA5EF382FBA7741E7400BA69C3EF9FDDA646368CCD60E418070BC11 | ||
3577 | A9F865BD30F2E22B2F53BD74582673399D3FAB6113312B03780F7EE1702DDB25 | ||
3578 | 37D4785A32E8D2D5F665B40E565097DFD790FD0960DDF8373C13737AA5CEA6BD | ||
3579 | 18107C2D057FA0C8D2B302FD11CE45E4752665AE004E312B0E40C866A23E59FA | ||
3580 | D0324B35BAFAEF75788B4851BDD6B09FA92086579E3533AB9F3D8B6E682823CB | ||
3581 | 320CD1D32C48D526C50F98B0C2D0F948AB0692EA49606C83E5271411BFA2A496 | ||
3582 | BD4761D43123988ED79E9CECA9D8789D1291B308B6AE361A51D928224B9C9B8B | ||
3583 | 91AA33B9FFB051D337DA20893688DCEAF8471817E3080C437F1012E24A9CD5D0 | ||
3584 | D9276C5499B08EF2C1561F2A65D5E78C8D2FD6F0C4C797E0F86F32C15C40CDD7 | ||
3585 | B32D26D1E2158A85F68B6894B08FDBB5EF277A638E4F615441B696F6CB56C748 | ||
3586 | 78E0435DA6302EFD6BC05F3F3B561D89BAA226F3D5FF36B5C33665C3EAE886C4 | ||
3587 | 2258666BB1940F9728AF441D9B4A5322F23D20A7DADEF502E76497076367C2BE | ||
3588 | 3220C06B74163435B8036FE8593E20242BECBF5B17192590870DF50D528AB2CA | ||
3589 | EB199CBBD1FB12FD5CA5DC26FA2E4FC9BF2993B50926D7E09CD859D3E78A9CB5 | ||
3590 | BDFFAE83D0378B617A67F619535CFF36F7759B3A9F9AE513DC9CEC90AD429422 | ||
3591 | 7EBBCA6F996FF141E2F88D7889FCE636B0932ADE0FC8DFA2CDAFDE2DE239A725 | ||
3592 | 57AF8ADDB40E2591FA64F9E840F1863C23FC884557FBDE29216A78E7C80CA721 | ||
3593 | EC31BA1362F97ED3EB93178FB045673BD6C358040E75E023E27B50C36E2714D3 | ||
3594 | 362AD4C27526826545C7E20019FC50026D6956DB28F297C61BFEE8C1200A7E01 | ||
3595 | 6EA446AA777AD86F97D8D7B3329903D58257994251ADF98DCA0FB8F75457770C | ||
3596 | 0C22BFE40070F3C7414910D9208A213A5A25F748080C9E0D002489505E65C16C | ||
3597 | 7BCA73F96E134F30BC49AB71CEDB7F7740E863A84BACFE98BBD172D8D5208E0F | ||
3598 | 04BE51E036F876953C91869DF33542CD3F66E118CC30BFE512F9EB7E4015FB46 | ||
3599 | 1FD49F424FF9217E8BCA3437710EF1CC7A8365CA990C3A4E2DDEA7483434DC06 | ||
3600 | D9CEC65C10CAAF408F0205B98163B7129DC6A9606974EA8C0B5119884EFE0C6A | ||
3601 | 415A1750958FA607D8A08769983BD1A31CF9BE66F798EAD2CACA213A97C4E64A | ||
3602 | 43436081D70A3E1D11E6977F816B39A7E6FC0939DD8BC24482D1069623DFB84B | ||
3603 | 2E7AD62B57EA9FC81793774B2E95CCA381B2E6035947999B68E0E3A88E925735 | ||
3604 | 39EE0BFAB7EA6CD7F5B88BB34B51C9B4AE7AF381F88186D8D1012F33A3BD3BBB | ||
3605 | 4BE9283A84FAF4554A96B64F6B84A38C22D30429C7C7D786AA1F3E77E5296C0B | ||
3606 | 672D4BF572DD87CCFFFB3F1B6B925B331BFCBFD5C5D78217922A7858F3970D85 | ||
3607 | 9DA4F79FB84251EA1C18EA0A365676321057AB1F092B2407F5F8475C912F0B9F | ||
3608 | 48C1434BD00D93D03D272026EEA6B70DC5D46D25850107F2AF8A01AF5BC1964B | ||
3609 | 9BA03201CAC4C144FCF165B4A865A746E94A78AA5CFCE5B82E9D84BE7F8677B4 | ||
3610 | 3602705F49473FF0BF0BCB5B70EE19871528E08E6B9CAF03A94714F99651ADD1 | ||
3611 | 2960E524970443EF61D35198680E36E24AC13E88D190C997B38867FB8EC58685 | ||
3612 | DD5FFFC9F21042DCC69817355CE4B60612D730F36692A9389ACD66FA6352FFB3 | ||
3613 | 81315E1F98A380FB7606914584F1880EC4316A3442A5F26BA53C38ABAC17AF31 | ||
3614 | 1E96A35310EA04BFC4B0C8C2ECFF10BDFA189D375B8FE4915B5C4A91CCC4E24C | ||
3615 | 500AF5B37892D4C0EEAD2F8C20273881F49FDBA1999DEECEFB2F48015A40E81E | ||
3616 | 2D21612D7B6ED27A7DE4DBE192D11CC9A425C0E3423B537F28F18C63692A68D8 | ||
3617 | 66CBDC8641229263091CEF8FC45E4F920E1D634268B71181D65A5D03429EEE4C | ||
3618 | EDFC35405B3065265519BEB04A58205E455905480A036512D1536EBE497381F7 | ||
3619 | 645259763EC6DB28FFCA597DB078442D096172F218A4A66F55DFF72015D36567 | ||
3620 | 5D336FE42C2182768005CAA898F9E1F82CCBCBDA8AC0C5417E58C2E306DD47FB | ||
3621 | CBFB5B9C850BB895F5B4FEA7B140E0548077CB4E55009B57058BC78555116F8E | ||
3622 | 3B9AC03E8B39854A9DC5F0850B1A4838C9DCB1D079A61F97A8774A1380418275 | ||
3623 | 3414C95CFA78440BDE4C69A4001364BC75BF85B102193E6342D1E883BC5552DD | ||
3624 | 42F1311EEA94318B77C4D4B4001523AF814F4C8430E30A9DE02A942D934013E2 | ||
3625 | D2C03C46D057239BB83BD33A9E2119B99C982190BA90EAD79E3CC21A5B76F2CE | ||
3626 | 86442619D31A58AE2C48FDB6618AB204DB2803A0FB27F681BC1263F70AD68333 | ||
3627 | 4777D0C3A402AF0CB6F5EC51F88FD9CD2EA6B44D3FB5E8F5D7967B0BA39BB509 | ||
3628 | 91C1450F05413435536BA899593C364AA5DD789A1B860E1085D81B27DB2E3F9F | ||
3629 | 7A8EE5A5EC636A1DE622FCD37287B4A9D89E91EB31FA79D75539B3FEB3A5D60B | ||
3630 | 719B9A1476E03DB4AFC2D12746622A1E474F80F9C38BD9B0E8D54833A5508C45 | ||
3631 | 93221DF319C0879A8F43C70926980DDAEB9B7830FD86836A86ADF8B00640D844 | ||
3632 | 5CAFD12C0D8B5D64DC017BE03CFDF81F853224069F347F047CA59FA629784810 | ||
3633 | 5C4DE67C51C5CBCABA07BD8D5A983085A8D45C938746576E78393B5455B69587 | ||
3634 | 4BC6CBA30676599E8484083D8D930DFE40F1D5379F8FE971817961F8A9F9CB7A | ||
Max diff block lines reached; 57324/75408 bytes (76.02%) of diff not shown. |
Offset 1, 11 lines modified | Offset 1, 11 lines modified | ||
1 | ·························Ordering·Sparse·Matrices·and·Transforming·Front·Trees\xd | 1 | ·························Ordering·Sparse·Matrices·and·Transforming·Front·Trees\xd |
2 | ·······························································································∗\xd | 2 | ·······························································································∗\xd |
3 | ··········································Cleve·Ashcraft,·Boeing·Shared·Services·Group\xd | 3 | ··········································Cleve·Ashcraft,·Boeing·Shared·Services·Group\xd |
4 | ·························································· | 4 | ··························································February·13,·2025\xd |
5 | ················1·····Introduction\xd | 5 | ················1·····Introduction\xd |
6 | ················If·the·ultimate·goal·is·to·solve·linear·systems·of·the·form·AX·=·B,·one·must·compute·an·A·=·LDU,\xd | 6 | ················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\xd | 7 | ················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\xd | 8 | ················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,\xd | 9 | ················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\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\xd |
11 | ················moderate·fill-in·as·can·be·reasonably·expected.\xd | 11 | ················moderate·fill-in·as·can·be·reasonably·expected.\xd |
Offset 35, 15 lines modified | Offset 35, 15 lines modified | ||
35 | ····················Section·2·introduces·some·background·on·sparse·matrix·orderings·and·describes·the·SPOOLES·or-\xd | 35 | ····················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\xd | 36 | ················dering·software.·Section·3·presents·the·front·tree·object·that·controls·the·factorization,·and·its·various\xd |
37 | ················transformations·to·improve·performance.\xd | 37 | ················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\xd | 38 | ···················∗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\xd | 39 | ················Contract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd |
40 | ················Support·Initiative.\xd | 40 | ················Support·Initiative.\xd |
41 | ····································································1\xd | 41 | ····································································1\xd |
42 | ··············2········Orderings·and·Front·Trees········································· | 42 | ··············2········Orderings·and·Front·Trees·········································February·13,·2025\xd |
43 | ··············2····Sparse·matrix·orderings\xd | 43 | ··············2····Sparse·matrix·orderings\xd |
44 | ··············Thepast·few·years·have·seen·a·resurgence·of·interest·and·accompanying·improvement·in·algorithms·and·soft-\xd | 44 | ··············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\xd | 45 | ··············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-\xd | 46 | ··············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\xd | 47 | ··············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\xd | 48 | ··············degree·[1]·and·approximate·deficiency·[21],·[25].·They·offer·improved·quality·or·improved·run·time,·and·on\xd |
49 | ··············occasion,·both.\xd | 49 | ··············occasion,·both.\xd |
Offset 81, 15 lines modified | Offset 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\xd | 81 | ·················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\xd | 82 | ··············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\xd | 83 | ··············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.\xd | 84 | ··············matrices),·there·is·an·easier·way.·One·can·create·an·IVL·object·from·the·InpMtx·object,·as·follows.\xd |
85 | ··············InpMtx···*A·;\xd | 85 | ··············InpMtx···*A·;\xd |
86 | ··············IVL······*adjIVL·;\xd | 86 | ··············IVL······*adjIVL·;\xd |
87 | ··············adjIVL·=·InpMtx_fullAdjacency(A)·;\xd | 87 | ··············adjIVL·=·InpMtx_fullAdjacency(A)·;\xd |
88 | ················· | 88 | ·················February·13,·2025····················································Orderings·and·Front·Trees·········3\xd |
89 | ········································Figure·1:·A·3×4·9-point·grid·with·its·adjacency·structure\xd | 89 | ········································Figure·1:·A·3×4·9-point·grid·with·its·adjacency·structure\xd |
90 | ·················································IVL·:·integer·vector·list·object·:\xd | 90 | ·················································IVL·:·integer·vector·list·object·:\xd |
91 | ·················································type·1,·chunked·storage\xd | 91 | ·················································type·1,·chunked·storage\xd |
92 | ·················································12·lists,·12·maximum·lists,·70·tsize,·4240·total·bytes\xd | 92 | ·················································12·lists,·12·maximum·lists,·70·tsize,·4240·total·bytes\xd |
93 | ·················································1·chunks,·70·active·entries,·1024·allocated,·6.84·%·used\xd | 93 | ·················································1·chunks,·70·active·entries,·1024·allocated,·6.84·%·used\xd |
94 | ·····················································0·:·0·1·3·4\xd | 94 | ·····················································0·:·0·1·3·4\xd |
95 | ····························9····10···11·············1·:·0·1·2·3·4·5\xd | 95 | ····························9····10···11·············1·:·0·1·2·3·4·5\xd |
Offset 121, 15 lines modified | Offset 121, 15 lines modified | ||
121 | ·················This·is·an·initializer·for·the·Graph·object,·one·that·takes·as·input·a·complete·IVL·adjacency·object.·The\xd | 121 | ·················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\xd | 122 | ·················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\xd | 123 | ·················unweighted·vertices,·weighted·or·unweighted·edges,·or·both,·and·it·can·have·boundary·vertices.·Neither·is\xd |
124 | ·················relevant·now.)\xd | 124 | ·················relevant·now.)\xd |
125 | ·················2.2···Constructing·an·ordering\xd | 125 | ·················2.2···Constructing·an·ordering\xd |
126 | ·················Once·we·have·a·Graph·object,·we·can·construct·an·ordering.·There·are·four·choices:\xd | 126 | ·················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]),\xd | 127 | ····················•·minimum·degree,·(actually·multiple·external·minimum·degree,·from·[19]),\xd |
128 | ··············4········Orderings·and·Front·Trees········································ | 128 | ··············4········Orderings·and·Front·Trees········································February·13,·2025\xd |
129 | ·················•·generalized·nested·dissection,\xd | 129 | ·················•·generalized·nested·dissection,\xd |
130 | ·················•·multisection,·and\xd | 130 | ·················•·multisection,·and\xd |
131 | ·················•·the·better·of·generalized·nested·dissection·and·multisection.\xd | 131 | ·················•·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\xd | 132 | ··············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\xd | 133 | ··············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,\xd | 134 | ··············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\xd | 135 | ··············and·the·difference·in·quality·increases·as·the·graph·size·increases.·Multisection·is·an·ordering·which·almost\xd |
Offset 161, 15 lines modified | Offset 161, 15 lines modified | ||
161 | ··············etree·=·orderViaBestOfNDandMS(graph,·maxdomainsize,·maxzeros,\xd | 161 | ··············etree·=·orderViaBestOfNDandMS(graph,·maxdomainsize,·maxzeros,\xd |
162 | ············································maxsize,·seed,·msglvl,·msgFile)·;\xd | 162 | ············································maxsize,·seed,·msglvl,·msgFile)·;\xd |
163 | ··············Now·let·us·describe·the·different·parameters.\xd | 163 | ··············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\xd | 164 | ·················•·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\xd | 165 | ···················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\xd | 166 | ···················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.\xd | 167 | ···················mayresult·in·large·message·files.·To·see·the·statistics·generated·during·the·ordering,·use·msglvl·=·1.\xd |
168 | ················ | 168 | ················February·13,·2025··················································Orderings·and·Front·Trees·········5\xd |
169 | ···················•·Theseedparameterisusedasarandomnumberseed.·(Therearemanyplacesinthegraphpartitioning\xd | 169 | ···················•·Theseedparameterisusedasarandomnumberseed.·(Therearemanyplacesinthegraphpartitioning\xd |
170 | ······················and·minimum·degree·algorithms·where·randomness·plays·a·part.·Using·a·random·number·seed·ensures\xd | 170 | ······················and·minimum·degree·algorithms·where·randomness·plays·a·part.·Using·a·random·number·seed·ensures\xd |
171 | ······················repeatability.)\xd | 171 | ······················repeatability.)\xd |
172 | ···················•·maxdomainsize·is·used·for·the·nested·dissection·and·multisection·orderings.·This·parameter·is·used\xd | 172 | ···················•·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\xd | 173 | ······················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.\xd | 174 | ······················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\xd | 175 | ···················•·maxzeros·and·maxsize·are·used·to·transform·the·front·tree.·In·effect,·we·have·placed·the·ordering\xd |
Offset 203, 15 lines modified | Offset 203, 15 lines modified | ||
203 | ··································10102·····4.6·····210364···10651916·····6.2·····211089···10722231\xd | 203 | ··································10102·····4.6·····210364···10651916·····6.2·····211089···10722231\xd |
204 | ··································10103·····4.6·····215795···11760095·····6.4·····217141···11606103\xd | 204 | ··································10103·····4.6·····215795···11760095·····6.4·····217141···11606103\xd |
205 | ··································10104·····4.6·····210989···10842091·····6.1·····212828···11168728\xd | 205 | ··································10104·····4.6·····210989···10842091·····6.1·····212828···11168728\xd |
206 | ··································10105·····4.8·····209201···10335761·····6.1·····210468···10582750\xd | 206 | ··································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\xd | 207 | ················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\xd | 208 | ················really·little·difference·in·ordering·quality,·while·the·minimum·degree·ordering·takes·much·less·time·than·the\xd |
209 | ················other·orderings.\xd | 209 | ················other·orderings.\xd |
210 | ··············6········Orderings·and·Front·Trees·········································· | 210 | ··············6········Orderings·and·Front·Trees··········································February·13,·2025\xd |
211 | ·················Let·us·now·look·at·a·random·triangulation·of·a·unit·cube.·This·matrix·has·13824·rows·and·columns.\xd | 211 | ·················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\xd | 212 | ··············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.\xd | 213 | ··············interior·using·quasi-random·points,·and·the·Delauney·triangulation·is·computed.\xd |
214 | ··········································minimum·degree···············nested·dissection\xd | 214 | ··········································minimum·degree···············nested·dissection\xd |
215 | ······························seed··CPU·#entries·········#ops·CPU·#entries············#ops\xd | 215 | ······························seed··CPU·#entries·········#ops·CPU·#entries············#ops\xd |
216 | ·····························10101····9.2···5783892··6119141542··27.8···3410222··1921402246\xd | 216 | ·····························10101····9.2···5783892··6119141542··27.8···3410222··1921402246\xd |
217 | ·····························10102····8.8···5651678··5959584620··31.4···3470063··1998795621\xd | 217 | ·····························10102····8.8···5651678··5959584620··31.4···3470063··1998795621\xd |
Offset 245, 15 lines modified | Offset 245, 15 lines modified | ||
245 | ··············ETree····*vetree·;\xd | 245 | ··············ETree····*vetree·;\xd |
246 | ··············int······*newToOld,·*oldToNew·;\xd | 246 | ··············int······*newToOld,·*oldToNew·;\xd |
247 | ··············Graph····*graph·;\xd | 247 | ··············Graph····*graph·;\xd |
248 | ··············vetree·=·ETree_new()·;\xd | 248 | ··············vetree·=·ETree_new()·;\xd |
249 | ··············ETree_initFromGraphWithPerms(vetree,·graph,·newToOld,·oldToNew)·;\xd | 249 | ··············ETree_initFromGraphWithPerms(vetree,·graph,·newToOld,·oldToNew)·;\xd |
250 | ··············Thevetreeobjectinthecodefragmentaboveisavertex·elimination·tree·[20],·[26],·where·each·front·contains\xd | 250 | ··············Thevetreeobjectinthecodefragmentaboveisavertex·elimination·tree·[20],·[26],·where·each·front·contains\xd |
251 | ··············one·vertex.\xd | 251 | ··············one·vertex.\xd |
252 | ····························· | 252 | ·····························February·13,·2025···········································································································Orderings·and·Front·Trees·····································7\xd |
253 | ········································································Figure·2:·R2D100:·randomly·triangulated,·100·grid·points\xd | 253 | ········································································Figure·2:·R2D100:·randomly·triangulated,·100·grid·points\xd |
254 | ·······························································································································48·······49······51·······50······55·······91·······8·······11·······10·······9\xd | 254 | ·······························································································································48·······49······51·······50······55·······91·······8·······11·······10·······9\xd |
255 | ·············································································································································52\xd | 255 | ·············································································································································52\xd |
256 | ·······························································································································53··························69······54···········17···························18\xd | 256 | ·······························································································································53··························69······54···········17···························18\xd |
257 | ···································································································································································67·95\xd | 257 | ···································································································································································67·95\xd |
258 | ············································································································································70················································19\xd | 258 | ············································································································································70················································19\xd |
259 | ·······························································································································66····68·······························································5······3\xd | 259 | ·······························································································································66····68·······························································5······3\xd |
Offset 300, 15 lines modified | Offset 300, 15 lines modified | ||
300 | ·····························tree·[2]·has·these·property:·any·node·in·the·tree·is\xd | 300 | ·····························tree·[2]·has·these·property:·any·node·in·the·tree·is\xd |
301 | ···································•·either·a·leaf,\xd | 301 | ···································•·either·a·leaf,\xd |
302 | ···································•·or·has·two·or·more·children,\xd | 302 | ···································•·or·has·two·or·more·children,\xd |
303 | ···································•·or·its·nonzero·structure·is·not·contained·in·that·of·its·one·child.\xd | 303 | ···································•·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-\xd | 304 | ·····························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\xd | 305 | ·····························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.\xd | 306 | ··································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········································ | 307 | ··············8········Orderings·and·Front·Trees········································February·13,·2025\xd |
308 | ······························Figure·3:·Vertex·elimination·tree·for·R2D100,·100·rows·and·columns\xd | 308 | ······························Figure·3:·Vertex·elimination·tree·for·R2D100,·100·rows·and·columns\xd |
309 | ···························································99\xd | 309 | ···························································99\xd |
310 | ···························································98\xd | 310 | ···························································98\xd |
311 | ···························································97\xd | 311 | ···························································97\xd |
312 | ···························································96\xd | 312 | ···························································96\xd |
313 | ···························································95\xd | 313 | ···························································95\xd |
314 | ···························································94\xd | 314 | ···························································94\xd |
Offset 327, 15 lines modified | Offset 327, 15 lines modified | ||
327 | ·····························7········17··········31···39·····55······65·····71······78··81\xd | 327 | ·····························7········17··········31···39·····55······65·····71······78··81\xd |
328 | ·····························6·····11····16····27···30·38···53··54····64···········75·77·80\xd | 328 | ·····························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\xd | 329 | ···························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. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·GPart.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·GPart.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1790, 19 lines modified | Offset 1790, 21 lines modified | ||
1790 | end·readonly·def | 1790 | end·readonly·def |
1791 | /Encoding·256·array | 1791 | /Encoding·256·array |
1792 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1792 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1793 | dup·44·/comma·put | 1793 | dup·44·/comma·put |
1794 | dup·48·/zero·put | 1794 | dup·48·/zero·put |
1795 | dup·49·/one·put | 1795 | dup·49·/one·put |
1796 | dup·50·/two·put | 1796 | dup·50·/two·put |
1797 | dup·51·/three·put | ||
1797 | dup·5 | 1798 | dup·53·/five·put |
1798 | dup·58·/colon·put | 1799 | dup·58·/colon·put |
1799 | dup·7 | 1800 | dup·70·/F·put |
1800 | dup·97·/a·put | 1801 | dup·97·/a·put |
1802 | dup·98·/b·put | ||
1801 | dup·1 | 1803 | dup·101·/e·put |
1802 | dup·114·/r·put | 1804 | dup·114·/r·put |
1803 | dup·117·/u·put | 1805 | dup·117·/u·put |
1804 | dup·121·/y·put | 1806 | dup·121·/y·put |
1805 | readonly·def | 1807 | readonly·def |
1806 | currentdict·end | 1808 | currentdict·end |
1807 | currentfile·eexec | 1809 | currentfile·eexec |
1808 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1810 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1986, 83 lines modified | Offset 1988, 94 lines modified | ||
1986 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1988 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1987 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1989 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1988 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1990 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1989 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1991 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1990 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1992 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1991 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1993 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1992 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1994 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1993 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1995 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1994 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1995 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1996 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1997 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1998 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1999 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2000 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2001 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2002 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2003 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2004 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2005 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2006 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2007 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2008 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2009 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2010 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2011 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2012 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2013 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2014 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2015 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2016 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2017 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2018 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2019 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2020 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2021 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2022 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2023 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2024 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2025 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2026 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2027 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2028 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2029 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2030 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2031 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2032 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2033 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2034 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2035 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2036 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2037 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2038 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2039 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2040 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2041 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2042 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2043 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2044 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2045 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2046 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2047 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2048 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2049 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2050 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2051 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2052 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2053 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2054 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2055 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2056 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2057 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2058 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2059 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2060 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2061 | 1996 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1997 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1998 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1999 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2000 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2001 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2002 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2003 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2004 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2005 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2006 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2007 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2008 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2009 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 34040/45584 bytes (74.68%) of diff not shown. |
Offset 30, 15 lines modified | Offset 30, 15 lines modified | ||
30 | ···············condensed·into·the·source·while·the·nodes·in·W·\Y·are·condensed·into·the·sink.·The·rest·of\xd | 30 | ···············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\xd | 31 | ···············the·network·is·formed·using·the·structure·of·the·subgraph·induced·by·Y.·Given·a·min-cut·of\xd |
32 | ···········································b\xd | 32 | ···········································b\xd |
33 | ···············the·network·we·can·identify·a·separator·S·⊆·Y·that·has·minimal·weight.·We·examine·two\xd | 33 | ···············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\xd | 34 | ···············(possibly)·different·min-cuts·and·evaluate·the·partitions·induced·via·their·minimal·weight\xd |
35 | ···············separators,·and·accept·a·better·partition·if·present.\xd | 35 | ···············separators,·and·accept·a·better·partition·if·present.\xd |
36 | ············································1\xd | 36 | ············································1\xd |
37 | ···········2······················GPart·:·DRAFT· | 37 | ···········2······················GPart·:·DRAFT·February·13,·2025\xd |
38 | ···········This·process·we·call·DDSEP,·which·is·short·for·Domain·Decomposition·SEParator,·explained·in·more\xd | 38 | ···········This·process·we·call·DDSEP,·which·is·short·for·Domain·Decomposition·SEParator,·explained·in·more\xd |
39 | ···········detail·in·[?]·and·[?].\xd | 39 | ···········detail·in·[?]·and·[?].\xd |
40 | ···········1.1··Data·Structures\xd | 40 | ···········1.1··Data·Structures\xd |
41 | ···········The·GPart·structure·has·a·pointer·to·a·Graph·object·and·other·fields·that·contain·information\xd | 41 | ···········The·GPart·structure·has·a·pointer·to·a·Graph·object·and·other·fields·that·contain·information\xd |
42 | ···········about·the·partition·of·the·graph.\xd | 42 | ···········about·the·partition·of·the·graph.\xd |
43 | ··············The·following·fields·are·always·active.\xd | 43 | ··············The·following·fields·are·always·active.\xd |
44 | ·············•·Graph·*graph·:·pointer·to·the·Graph·object\xd | 44 | ·············•·Graph·*graph·:·pointer·to·the·Graph·object\xd |
Offset 61, 15 lines modified | Offset 61, 15 lines modified | ||
61 | ·············•·GPart·*sib·:·pointer·to·a·sibling·GPart·object\xd | 61 | ·············•·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\xd | 62 | ·············•·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\xd | 63 | ···············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\xd | 64 | ··············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\xd | 65 | ···········input·parameters·for·the·different·stages·of·the·DDSEP·algorithm,·and·collects·statistics·about·the\xd |
66 | ···········CPUtime·spent·in·each·stage.\xd | 66 | ···········CPUtime·spent·in·each·stage.\xd |
67 | ·············•·These·parameters·are·used·to·generate·the·domain·decomposition.\xd | 67 | ·············•·These·parameters·are·used·to·generate·the·domain·decomposition.\xd |
68 | ············································GPart·:·DRAFT····· | 68 | ············································GPart·:·DRAFT·····February·13,·2025·························3\xd |
69 | ······················–·int·minweight:·minimum·target·weight·for·a·domain\xd | 69 | ······················–·int·minweight:·minimum·target·weight·for·a·domain\xd |
70 | ······················–·int·maxweight:·maximum·target·weight·for·a·domain\xd | 70 | ······················–·int·maxweight:·maximum·target·weight·for·a·domain\xd |
71 | ······················–·double·freeze:·multiplier·used·to·freeze·vertices·of·high·degree·into·the·multisector.\xd | 71 | ······················–·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\xd | 72 | ························If·the·degree·of·v·is·more·than·freeze·times·the·median·degree,·v·is·placed·into·the\xd |
73 | ························multisector.\xd | 73 | ························multisector.\xd |
74 | ······················–·int·seed:·random·number·seed\xd | 74 | ······················–·int·seed:·random·number·seed\xd |
75 | ······················–·int·DDoption:·If·1,·a·new·domain·decomposition·is·constructed·for·each·subgraph.·If\xd | 75 | ······················–·int·DDoption:·If·1,·a·new·domain·decomposition·is·constructed·for·each·subgraph.·If\xd |
Offset 98, 15 lines modified | Offset 98, 15 lines modified | ||
98 | ······················–·int·ntreeobj:·number·of·tree·objects·in·the·tree,·used·to·set·gpart->id·and·used·to\xd | 98 | ······················–·int·ntreeobj:·number·of·tree·objects·in·the·tree,·used·to·set·gpart->id·and·used·to\xd |
99 | ························initialize·the·DSTree·object.\xd | 99 | ························initialize·the·DSTree·object.\xd |
100 | ······················–·int·msglvl·:·message·level\xd | 100 | ······················–·int·msglvl·:·message·level\xd |
101 | ······················–·FILE·*msgFile·:·message·file·pointer\xd | 101 | ······················–·FILE·*msgFile·:·message·file·pointer\xd |
102 | ··············1.2·····Prototypes·and·descriptions·of·GPart·methods\xd | 102 | ··············1.2·····Prototypes·and·descriptions·of·GPart·methods\xd |
103 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 103 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
104 | ··············GPart·object.·There·are·no·IO·methods.\xd | 104 | ··············GPart·object.·There·are·no·IO·methods.\xd |
105 | ··············4··························· | 105 | ··············4···························GPart·:·DRAFT·February·13,·2025\xd |
106 | ··············1.2.1··Basic·methods\xd | 106 | ··············1.2.1··Basic·methods\xd |
107 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 107 | ··············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.\xd | 108 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
109 | ················1.·GPart·*·GPart_new·(·void·)·;\xd | 109 | ················1.·GPart·*·GPart_new·(·void·)·;\xd |
110 | ···················This·method·simply·allocates·storage·for·the·GPart·structure·and·then·sets·the·default·fields\xd | 110 | ···················This·method·simply·allocates·storage·for·the·GPart·structure·and·then·sets·the·default·fields\xd |
111 | ···················by·a·call·to·GPart·setDefaultFields().\xd | 111 | ···················by·a·call·to·GPart·setDefaultFields().\xd |
112 | ················2.·void·GPart_setDefaultFields·(·GPart·*gpart·)·;\xd | 112 | ················2.·void·GPart_setDefaultFields·(·GPart·*gpart·)·;\xd |
Offset 132, 15 lines modified | Offset 132, 15 lines modified | ||
132 | ···················compidsIV·and·cweightsIV·IV·objects·are·initialized.·The·remaining·fields·are·not·changed\xd | 132 | ···················compidsIV·and·cweightsIV·IV·objects·are·initialized.·The·remaining·fields·are·not·changed\xd |
133 | ···················from·their·default·values.\xd | 133 | ···················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\xd | 134 | ···················Error·checking:·If·gpart·or·g·is·NULL,·or·if·g->nvtx·≤·0,·an·error·message·is·printed·and·the\xd |
135 | ···················program·exits.\xd | 135 | ···················program·exits.\xd |
136 | ················2.·void·GPart_setMessageInfo·(·GPart·*gpart,·int·msglvl,·FILE·*msgFile·)·;\xd | 136 | ················2.·void·GPart_setMessageInfo·(·GPart·*gpart,·int·msglvl,·FILE·*msgFile·)·;\xd |
137 | ···················This·method·sets·the·msglvl·and·msgFile·fields.\xd | 137 | ···················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.\xd | 138 | ···················Error·checking:·If·gpart·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
139 | ····································· | 139 | ·····································GPart·:·DRAFT···February·13,·2025···················5\xd |
140 | ············1.2.3··Utility·methods\xd | 140 | ············1.2.3··Utility·methods\xd |
141 | ···············1.·void·GPart_setCweights·(·GPart·*gpart·)·;\xd | 141 | ···············1.·void·GPart_setCweights·(·GPart·*gpart·)·;\xd |
142 | ·················This·method·sets·the·component·weights·vector·cweightsIV.·We·assume·that·the·compidsIV\xd | 142 | ·················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\xd | 143 | ·················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\xd | 144 | ·················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\xd | 145 | ·················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\xd | 146 | ·················of·the·remaining·vertices,·renumbering·the·compidsIV·vector·where·necessary.·Thus,·ncomp\xd |
Offset 171, 15 lines modified | Offset 171, 15 lines modified | ||
171 | ·················This·method·determines·whether·the·vertex·v·is·adjacent·to·just·one·domain·or·not.·We·use\xd | 171 | ·················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\xd | 172 | ·················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\xd | 173 | ·················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\xd | 174 | ·················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.\xd | 175 | ·················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),\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),\xd |
177 | ·················an·error·message·is·printed·and·the·program·exits.\xd | 177 | ·················an·error·message·is·printed·and·the·program·exits.\xd |
178 | ··············6··························· | 178 | ··············6···························GPart·:·DRAFT·February·13,·2025\xd |
179 | ················6.·IV·*·GPart_bndWeightsIV·(·GPart·*gpart·)·;\xd | 179 | ················6.·IV·*·GPart_bndWeightsIV·(·GPart·*gpart·)·;\xd |
180 | ···················This·method·returns·an·IV·object·that·contains·the·weights·of·the·vertices·on·the·boundaries\xd | 180 | ···················This·method·returns·an·IV·object·that·contains·the·weights·of·the·vertices·on·the·boundaries\xd |
181 | ···················of·the·components.\xd | 181 | ···················of·the·components.\xd |
182 | ···················Error·checking:·If·gpart·or·g·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 182 | ···················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\xd | 183 | ··············1.2.4··Domain·decomposition·methods\xd |
184 | ··············There·are·presently·two·methods·that·create·a·domain·decomposition·of·a·graph·or·a·subgraph.\xd | 184 | ··············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,\xd | 185 | ················1.·void·GPart_DDviaFishnet·(·GPart·*gpart,·double·frac,·int·minweight,\xd |
Offset 209, 15 lines modified | Offset 209, 15 lines modified | ||
209 | ················································double·cpus[]·)·;\xd | 209 | ················································double·cpus[]·)·;\xd |
210 | ···················This·method·takes·a·domain·decomposition·{Φ,Ω·,...,Ω·}·defined·by·the·compidsIV·vector\xd | 210 | ···················This·method·takes·a·domain·decomposition·{Φ,Ω·,...,Ω·}·defined·by·the·compidsIV·vector\xd |
211 | ·····························································1······m\xd | 211 | ·····························································1······m\xd |
212 | ···················and·generates·a·two·set·partition·[S,B,W].·We·first·compute·the·map·from·vertices·to\xd | 212 | ···················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\xd | 213 | ···················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\xd | 214 | ···················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\xd | 215 | ···················is·an·“edge”·that·connects·two·“adjacent”·domains.·This·allows·us·to·use·a·variant·of·the\xd |
216 | ····································· | 216 | ·····································GPart·:·DRAFT···February·13,·2025···················7\xd |
217 | ·················Kernighan-Lin·algorithm·to·find·an·“edge”·separator·formed·of·segments,·which·is·really·a\xd | 217 | ·················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\xd | 218 | ·················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\xd | 219 | ·················for·the·partition,·cost([S,B,W])·=·|S|\x121+αmax{|B|,|W|}\x13.·The·seed·parameter·is·used\xd |
220 | ·····················································min{|B|,|W|}\xd | 220 | ·····················································min{|B|,|W|}\xd |
221 | ·················to·randomize·the·algorithm.·One·can·make·several·runswith·different·seeds·and·chose·the·best\xd | 221 | ·················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:\xd | 222 | ·················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\xd | 223 | ·················cpus[0]·stores·the·time·to·compute·the·domain/segment·map;·cpus[2]·stores·the·time·to\xd |
Offset 253, 15 lines modified | Offset 253, 15 lines modified | ||
253 | ·································0\xd | 253 | ·································0\xd |
254 | ································Y··=·{y∈Y·|·y∈Adj(B\Y)·and·y·∈/·Adj(W·\Y)}\xd | 254 | ································Y··=·{y∈Y·|·y∈Adj(B\Y)·and·y·∈/·Adj(W·\Y)}\xd |
255 | ·································1\xd | 255 | ·································1\xd |
256 | ································Y··=·{y∈Y·|·y∈/·Adj(B·\Y)·and·y·∈·Adj(W·\Y)}\xd | 256 | ································Y··=·{y∈Y·|·y∈/·Adj(B·\Y)·and·y·∈·Adj(W·\Y)}\xd |
257 | ·································2\xd | 257 | ·································2\xd |
258 | ································Y··=·{y∈Y·|·y∈Adj(B\Y)·and·y·∈Adj(W·\Y)}\xd | 258 | ································Y··=·{y∈Y·|·y∈Adj(B\Y)·and·y·∈Adj(W·\Y)}\xd |
259 | ·································3\xd | 259 | ·································3\xd |
260 | ··················8···································· | 260 | ··················8····································GPart·:·DRAFT·February·13,·2025\xd |
261 | ························The·YVmapIV·object·contains·the·list·of·vertices·in·the·wide·separator·Y·.·The·IV·object·that\xd | 261 | ························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\xd | 262 | ························is·returned,·(called·YCmapIV·in·the·calling·method)·contains·the·subscripts·of·the·Y·,·Y·,·Y\xd |
263 | ························································································································0···1···2\xd | 263 | ························································································································0···1···2\xd |
264 | ························or·Y·sets·that·contains·each·vertex.\xd | 264 | ························or·Y·sets·that·contains·each·vertex.\xd |
265 | ·····························3\xd | 265 | ·····························3\xd |
266 | ························Error·checking:·If·gpart,·g·or·YVmapIV·is·NULL,·or·if·nvtx·≤·0,·or·if·YVmapIV·is·empty,·an\xd | 266 | ························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.\xd | 267 | ························error·message·is·printed·and·the·program·exits.\xd |
Offset 303, 15 lines modified | Offset 303, 15 lines modified | ||
303 | ························improves·it·(if·possible).·The·methods·returns·the·cost·of·a·(possibly)·new·two-set·partition\xd | 303 | ························improves·it·(if·possible).·The·methods·returns·the·cost·of·a·(possibly)·new·two-set·partition\xd |
304 | ·························b·b·c\xd | 304 | ·························b·b·c\xd |
305 | ························[S,B,W]·defined·by·the·compidsIV·vector.·The·wide·separator·Y·that·is·constructed·is\xd | 305 | ························[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\xd | 306 | ························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().\xd | 307 | ························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\xd | 308 | ························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.\xd | 309 | ························printed·and·the·program·exits.\xd |
310 | ····································· | 310 | ·····································GPart·:·DRAFT···February·13,·2025···················9\xd |
311 | ············1.2.7··Recursive·Bisection·method\xd | 311 | ············1.2.7··Recursive·Bisection·method\xd |
312 | ············There·is·presently·one·method·to·construct·the·domain/separator·tree.\xd | 312 | ············There·is·presently·one·method·to·construct·the·domain/separator·tree.\xd |
313 | ···············1.·DSTree·*·GPart_RBviaDDsep·(·GPart·*gpart,·DDsepInfo·*info·)·;\xd | 313 | ···············1.·DSTree·*·GPart_RBviaDDsep·(·GPart·*gpart,·DDsepInfo·*info·)·;\xd |
314 | ·················This·method·performs·a·recursive·bisection·of·the·graph·using·the·DDSEP·algorithm·and\xd | 314 | ·················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\xd | 315 | ·················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\xd | 316 | ·················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,\xd | 317 | ·················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. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·Graph.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·Graph.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1204, 19 lines modified | Offset 1204, 21 lines modified | ||
1204 | end·readonly·def | 1204 | end·readonly·def |
1205 | /Encoding·256·array | 1205 | /Encoding·256·array |
1206 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1206 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1207 | dup·44·/comma·put | 1207 | dup·44·/comma·put |
1208 | dup·48·/zero·put | 1208 | dup·48·/zero·put |
1209 | dup·49·/one·put | 1209 | dup·49·/one·put |
1210 | dup·50·/two·put | 1210 | dup·50·/two·put |
1211 | dup·51·/three·put | ||
1211 | dup·5 | 1212 | dup·53·/five·put |
1212 | dup·58·/colon·put | 1213 | dup·58·/colon·put |
1213 | dup·7 | 1214 | dup·70·/F·put |
1214 | dup·97·/a·put | 1215 | dup·97·/a·put |
1216 | dup·98·/b·put | ||
1215 | dup·1 | 1217 | dup·101·/e·put |
1216 | dup·114·/r·put | 1218 | dup·114·/r·put |
1217 | dup·117·/u·put | 1219 | dup·117·/u·put |
1218 | dup·121·/y·put | 1220 | dup·121·/y·put |
1219 | readonly·def | 1221 | readonly·def |
1220 | currentdict·end | 1222 | currentdict·end |
1221 | currentfile·eexec | 1223 | currentfile·eexec |
1222 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1224 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1400, 83 lines modified | Offset 1402, 94 lines modified | ||
1400 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1402 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1401 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1403 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1402 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1404 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1403 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1405 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1404 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1406 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1405 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1407 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1406 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1408 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1407 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1409 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1408 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1409 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1410 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1411 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1412 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1413 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1414 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1415 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1416 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1417 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1418 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1419 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1420 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1421 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1422 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1423 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1424 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1425 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1426 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1427 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1428 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1429 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1430 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1431 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1432 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1433 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1434 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1435 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1436 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1437 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1438 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1439 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1440 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1441 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1442 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1443 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1444 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1445 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1446 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1447 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1448 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1449 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1450 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1451 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1452 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1453 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1454 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1455 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1456 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1457 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1458 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1459 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1460 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1461 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1462 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1463 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1464 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1465 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1466 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1467 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1468 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1469 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1470 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1471 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1472 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1473 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1474 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1475 | 1410 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1411 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1412 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1413 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1414 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1415 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1416 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1417 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1418 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1419 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1420 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1421 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1422 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1423 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 24567/36111 bytes (68.03%) of diff not shown. |
Offset 27, 15 lines modified | Offset 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\xd | 27 | ················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.\xd | 28 | ················in·the·unit·weight·graph·where·u·∈·u·and·v·∈·v.\xd |
29 | ····················Thenaturalcompressedgraph[?],[?]isveryimportantformanymatricesfromstructralanalysis\xd | 29 | ····················Thenaturalcompressedgraph[?],[?]isveryimportantformanymatricesfromstructralanalysis\xd |
30 | ················and·computational·fluid·mechanics.·This·type·of·graph·has·one·special·property:\xd | 30 | ················and·computational·fluid·mechanics.·This·type·of·graph·has·one·special·property:\xd |
31 | ························································w(u,v)·=·w(u)·w(v)\xd | 31 | ························································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.\xd | 32 | ···················1The·EGraph·object·represents·a·graph·of·the·matrix,·but·stores·a·list·of·covering·cliques·in·an·IVL·object.\xd |
33 | ··································································1\xd | 33 | ··································································1\xd |
34 | ················2································Graph·:·DRAFT· | 34 | ················2································Graph·:·DRAFT·February·13,·2025\xd |
35 | ················and·it·is·the·smallest·graph·with·this·property.·The·compression·is·loss-less,·for·given·G(V,E)\xd | 35 | ················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\xd | 36 | ················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\xd | 37 | ················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.\xd | 38 | ················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\xd | 39 | ···················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\xd | 40 | ················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\xd | 41 | ················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 modified | Offset 57, 15 lines modified | ||
57 | ···················•·int·totewght·:·total·edge·weight\xd | 57 | ···················•·int·totewght·:·total·edge·weight\xd |
58 | ···················•·IVL·*adjIVL·:·pointer·to·IVL·object·to·hold·adjacency·lists\xd | 58 | ···················•·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\xd | 59 | ···················•·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\xd | 60 | ···················•·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\xd | 61 | ················1.2····Prototypes·and·descriptions·of·Graph·methods\xd |
62 | ················This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 62 | ················This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
63 | ················Graph·object.\xd | 63 | ················Graph·object.\xd |
64 | ··············································· | 64 | ···············································Graph·:·DRAFT·······February·13,·2025···························3\xd |
65 | ···············1.2.1····Basic·methods\xd | 65 | ···············1.2.1····Basic·methods\xd |
66 | ···············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 66 | ···············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.\xd | 67 | ···············any·allocated·data,·and·free’ing·the·object.\xd |
68 | ··················1.·Graph·*·Graph_new·(·void·)·;\xd | 68 | ··················1.·Graph·*·Graph_new·(·void·)·;\xd |
69 | ·····················This·method·simply·allocates·storage·for·the·Graph·structure·and·then·sets·the·default·fields\xd | 69 | ·····················This·method·simply·allocates·storage·for·the·Graph·structure·and·then·sets·the·default·fields\xd |
70 | ·····················by·a·call·to·Graph·setDefaultFields().\xd | 70 | ·····················by·a·call·to·Graph·setDefaultFields().\xd |
71 | ··················2.·void·Graph_setDefaultFields·(·Graph·*graph·)·;\xd | 71 | ··················2.·void·Graph_setDefaultFields·(·Graph·*graph·)·;\xd |
Offset 91, 15 lines modified | Offset 91, 15 lines modified | ||
91 | ············································int·adjType,·int·ewghtType·)·;\xd | 91 | ············································int·adjType,·int·ewghtType·)·;\xd |
92 | ·····················Thisisthebasicinitializer·method.·Anypreviousdataisclearedwithacall·toGraph·clearData().\xd | 92 | ·····················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\xd | 93 | ·····················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.\xd | 94 | ·····················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-\xd | 95 | ·····················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\xd | 96 | ·····················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.\xd | 97 | ·····················IVL·CHUNKED,·IVL·SOLO·or·IVL·UNKNOWN).·an·error·message·is·printed·and·the·program·exits.\xd |
98 | ··············4··························· | 98 | ··············4···························Graph·:·DRAFT·February·13,·2025\xd |
99 | ················2.·void·Graph_init2·(·Graph·*graph,·int·type,·int·nvtx,·int·nvbnd,·int·nedges,\xd | 99 | ················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)\xd | 100 | ························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,\xd | 101 | ··················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\xd | 102 | ··················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.\xd | 103 | ··················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\xd | 104 | ··················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.\xd | 105 | ··················the·Graph·object·is·free’d.\xd |
Offset 130, 15 lines modified | Offset 130, 15 lines modified | ||
130 | ··············1.2.3··Compress·and·Expand·methods\xd | 130 | ··············1.2.3··Compress·and·Expand·methods\xd |
131 | ··············These·three·methods·find·an·equivalence·map·for·the·natural·compressed·graph,·compress·a·graph,\xd | 131 | ··············These·three·methods·find·an·equivalence·map·for·the·natural·compressed·graph,·compress·a·graph,\xd |
132 | ··············and·expand·a·graph.\xd | 132 | ··············and·expand·a·graph.\xd |
133 | ················1.·IV·*·Graph_equivMap·(·Graph·*graph·)·;\xd | 133 | ················1.·IV·*·Graph_equivMap·(·Graph·*graph·)·;\xd |
134 | ··················This·method·constructs·the·equivalence·map·from·the·graph·to·its·natural·compressed·graph.\xd | 134 | ··················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\xd | 135 | ··················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.\xd | 136 | ··················an·IV·object·that·is·then·returned.\xd |
137 | ······································Graph·:·DRAFT·· | 137 | ······································Graph·:·DRAFT··February·13,·2025···················5\xd |
138 | ·················Error·checking:·If·graph·is·NULL·or·nvtx·<=·0,·an·error·message·is·printed·and·the·program\xd | 138 | ·················Error·checking:·If·graph·is·NULL·or·nvtx·<=·0,·an·error·message·is·printed·and·the·program\xd |
139 | ·················exits.\xd | 139 | ·················exits.\xd |
140 | ···············2.·Graph·*·Graph_compress·(·Graph·*graph,·int·map[],·int·coarseType·)·;\xd | 140 | ···············2.·Graph·*·Graph_compress·(·Graph·*graph,·int·map[],·int·coarseType·)·;\xd |
141 | ·················Graph·*·Graph_compress2·(·Graph·*graph,·IV·*mapIV,·int·coarseType·)·;\xd | 141 | ·················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,\xd | 142 | ·················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\xd | 143 | ·················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\xd | 144 | ·················is·constructed·and·returned.·Note,·the·compressed·graph·does·not·have·a·boundary,·even\xd |
Offset 164, 15 lines modified | Offset 164, 15 lines modified | ||
164 | ···············1.·int·Graph_sizeOf·(·Graph·*graph·)·;\xd | 164 | ···············1.·int·Graph_sizeOf·(·Graph·*graph·)·;\xd |
165 | ·················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd | 165 | ·················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.\xd | 166 | ·················Error·checking:·If·graph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
167 | ···············2.·Graph_externalDegree·(·Graph·*graph,·int·v·)·;\xd | 167 | ···············2.·Graph_externalDegree·(·Graph·*graph,·int·v·)·;\xd |
168 | ·················This·method·returns·the·weight·of·adj(v).\xd | 168 | ·················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\xd | 169 | ·················Error·checking:·If·graph·is·NULL,·or·v·is·out·of·range,·an·error·message·is·printed·and·the\xd |
170 | ·················program·exits.\xd | 170 | ·················program·exits.\xd |
171 | ·······6··············Graph·:·DRAFT· | 171 | ·······6··············Graph·:·DRAFT·February·13,·2025\xd |
172 | ········3.·int·Graph_adjAndSize·(·Graph·*graph,·int·u,·int·*pusize,·int·**puadj)·;\xd | 172 | ········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\xd | 173 | ··········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.\xd | 174 | ··········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\xd | 175 | ··········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.\xd | 176 | ··········error·message·is·printed·and·the·program·exits.\xd |
177 | ········4.·int·Graph_adjAndEweights·(·Graph·*graph,·int·u,·int·*pusize,\xd | 177 | ········4.·int·Graph_adjAndEweights·(·Graph·*graph,·int·u,·int·*pusize,\xd |
178 | ························int·**puadj,·int·**puewghts)·;\xd | 178 | ························int·**puadj,·int·**puewghts)·;\xd |
Offset 205, 15 lines modified | Offset 205, 15 lines modified | ||
205 | ··········list·for·the·vertex·in·the·parent·graph.·Each·adjacency·list·for·a·boundary·vertex·of·the\xd | 205 | ··········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\xd | 206 | ··········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\xd | 207 | ··········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\xd | 208 | ··········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.\xd | 209 | ··········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,\xd | 210 | ··········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.\xd | 211 | ··········only·graphs·with·unit·edge·weights·are·allowed·as·input.\xd |
212 | ······································Graph·:·DRAFT·· | 212 | ······································Graph·:·DRAFT··February·13,·2025···················7\xd |
213 | ·················Error·checking:·If·graph·is·NULL·or·icomp·<·0·or·compids·or·pmap·is·NULL,·an·error·message\xd | 213 | ·················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.\xd | 214 | ·················is·printed·and·the·program·exits.\xd |
215 | ···············8.·int·Graph_isSymmetric·(·Graph·*graph·)·;\xd | 215 | ···············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\xd | 216 | ·················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.\xd | 217 | ·················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.\xd | 218 | ·················Error·checking:·If·graph·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
219 | ············1.2.6··IO·methods\xd | 219 | ············1.2.6··IO·methods\xd |
Offset 242, 15 lines modified | Offset 242, 15 lines modified | ||
242 | ·················file·and·returns·the·value·returned·from·the·called·routine.\xd | 242 | ·················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\xd | 243 | ·················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.\xd | 244 | ·················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·)·;\xd | 245 | ···············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\xd | 246 | ·················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.\xd | 247 | ·················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.\xd | 248 | ·················Error·checking:·If·graph·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd |
249 | ···········8······················ | 249 | ···········8······················Graph·:·DRAFT·February·13,·2025\xd |
250 | ·············6.·int·Graph_writeToBinaryFile·(·Graph·*graph,·FILE·*fp·)·;\xd | 250 | ·············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,\xd | 251 | ···············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.\xd | 252 | ···············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.\xd | 253 | ···············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·)·;\xd | 254 | ·············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\xd | 255 | ···············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.\xd | 256 | ···············Graph·writeStats()is·called·to·write·out·the·header·and·statistics.·The·value·1·is·returned.\xd |
Offset 276, 15 lines modified | Offset 276, 15 lines modified | ||
276 | ···················*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd | 276 | ···················*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd |
277 | ···················method.\xd | 277 | ···················method.\xd |
278 | ·············2.·compressGraph·msglvl·msgFile·inGraphFile·coarseType·outMapFile·outGraphFile\xd | 278 | ·············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\xd | 279 | ···············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\xd | 280 | ···············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\xd | 281 | ···············natural·compressed·graph.·The·equivalence·map·and·compressed·graph·are·optionally·written\xd |
282 | ···············out·to·files.\xd | 282 | ···············out·to·files.\xd |
283 | ···········································Graph·:·DRAFT····· | 283 | ···········································Graph·:·DRAFT·····February·13,·2025························9\xd |
284 | ······················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd | 284 | ······················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd |
285 | ························that·all·objects·are·written·to·the·message·file.\xd | 285 | ························that·all·objects·are·written·to·the·message·file.\xd |
286 | ······················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 286 | ······················•·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\xd | 287 | ························message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd |
288 | ························data.\xd | 288 | ························data.\xd |
289 | ······················•·TheinGraphFileparameteristheinputfilefortheGraphobject.·It·mustbeof·theform\xd | 289 | ······················•·TheinGraphFileparameteristheinputfilefortheGraphobject.·It·mustbeof·theform\xd |
290 | ························*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd | 290 | ························*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd |
Max diff block lines reached; 4219/15744 bytes (26.80%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·I2Ohash.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·I2Ohash.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2425, 19 lines modified | Offset 2425, 21 lines modified | ||
2425 | end·readonly·def | 2425 | end·readonly·def |
2426 | /Encoding·256·array | 2426 | /Encoding·256·array |
2427 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2427 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2428 | dup·44·/comma·put | 2428 | dup·44·/comma·put |
2429 | dup·48·/zero·put | 2429 | dup·48·/zero·put |
2430 | dup·49·/one·put | 2430 | dup·49·/one·put |
2431 | dup·50·/two·put | 2431 | dup·50·/two·put |
2432 | dup·51·/three·put | ||
2432 | dup·5 | 2433 | dup·53·/five·put |
2433 | dup·58·/colon·put | 2434 | dup·58·/colon·put |
2434 | dup·7 | 2435 | dup·70·/F·put |
2435 | dup·97·/a·put | 2436 | dup·97·/a·put |
2437 | dup·98·/b·put | ||
2436 | dup·1 | 2438 | dup·101·/e·put |
2437 | dup·114·/r·put | 2439 | dup·114·/r·put |
2438 | dup·117·/u·put | 2440 | dup·117·/u·put |
2439 | dup·121·/y·put | 2441 | dup·121·/y·put |
2440 | readonly·def | 2442 | readonly·def |
2441 | currentdict·end | 2443 | currentdict·end |
2442 | currentfile·eexec | 2444 | currentfile·eexec |
2443 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2445 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2621, 83 lines modified | Offset 2623, 94 lines modified | ||
2621 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2623 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2622 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2624 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2623 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2625 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2624 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2626 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2625 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2627 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2626 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2628 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2627 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2629 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2628 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2630 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2629 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2630 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2631 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2632 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2633 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2634 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2635 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2636 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2637 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2638 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2639 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2640 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2641 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2642 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2643 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2644 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2645 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2646 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2647 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2648 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2649 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2650 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2651 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2652 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2653 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2654 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2655 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2656 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2657 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2658 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2659 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2660 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2661 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2662 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2663 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2664 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2665 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2666 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2667 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2668 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2669 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2670 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2671 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2672 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2673 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2674 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2675 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2676 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2677 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2678 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2679 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2680 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2681 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2682 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2683 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2684 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2685 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2686 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2687 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2688 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2689 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2690 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2691 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2692 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2693 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2694 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2695 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2696 | 2631 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2632 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2633 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2634 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2635 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2636 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2637 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2638 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2639 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2640 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2641 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2642 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2643 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2644 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 7280/18826 bytes (38.67%) of diff not shown. |
Offset 21, 15 lines modified | Offset 21, 15 lines modified | ||
21 | ······················•·int·nlist·:·number·of·lists·in·the·hash·table\xd | 21 | ······················•·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,\xd | 22 | ······················•·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.\xd | 23 | ························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.\xd | 24 | ······················•·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\xd | 25 | ······················•·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.\xd | 26 | ························have·been·allocated·by·the·hash·table.\xd |
27 | ·········································································1\xd | 27 | ·········································································1\xd |
28 | ··············2·························· | 28 | ··············2··························I2Ohash·:·DRAFT·February·13,·2025\xd |
29 | ·················•·I2OP·*freeI2OP·:·pointer·to·the·first·I2OP·object·on·the·free·list.\xd | 29 | ·················•·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\xd | 30 | ·················•·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.\xd | 31 | ···················first·I2OP·object·in·each·list.\xd |
32 | ·················Acorrectly·initialized·and·nontrivial·I2Ohash·object·will·have·nlist·>·0.·If·grow·is·zero·and\xd | 32 | ·················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.\xd | 33 | ··············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\xd | 34 | ··············1.2···Prototypes·and·descriptions·of·I2Ohash·methods\xd |
35 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 35 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | ···················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 51 | ···················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
52 | ················4.·void·I2Ohash_free·(·I2Ohash·*hashtable·)·;\xd | 52 | ················4.·void·I2Ohash_free·(·I2Ohash·*hashtable·)·;\xd |
53 | ···················This·method·releases·any·storage·by·a·call·to·I2Ohash·clearData()·then·free’s·the·storage\xd | 53 | ···················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().\xd | 54 | ···················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.\xd | 55 | ···················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
56 | ··············1.2.2··Initializer·methods\xd | 56 | ··············1.2.2··Initializer·methods\xd |
57 | ··············There·is·one·initializer·method.\xd | 57 | ··············There·is·one·initializer·method.\xd |
58 | ················································I2Ohash·:·DRAFT······· | 58 | ················································I2Ohash·:·DRAFT·······February·13,·2025····························3\xd |
59 | ···················1.·void·I2Ohash_init·(·I2Ohash·*hashtable,·int·nlist,·int·nobj,·int·grow·)·;\xd | 59 | ···················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\xd | 60 | ······················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\xd | 61 | ······················I2Ohash·clearData().·It·allocates·storage·for·nlist·lists·and·if·nobj·is·positive,·it·loads·the\xd |
62 | ······················free·list·with·nobj·I2OP·objects.\xd | 62 | ······················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\xd | 63 | ······················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.\xd | 64 | ······················error·message·is·printed·and·the·program·exits.\xd |
65 | ················1.2.3····Utility·methods\xd | 65 | ················1.2.3····Utility·methods\xd |
Offset 92, 15 lines modified | Offset 92, 15 lines modified | ||
92 | ······················the·triples·are·evenly·distributed·among·nlist/k·lists,·the·value·is·√k.\xd | 92 | ······················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.\xd | 93 | ······················Error·checking:·If·hashtable·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
94 | ················1.2.4····IO·methods\xd | 94 | ················1.2.4····IO·methods\xd |
95 | ···················1.·void·I2Ohash_writeForHumanEye·(·I2Ohash·*hashtable,·FILE·*fp·)·;\xd | 95 | ···················1.·void·I2Ohash_writeForHumanEye·(·I2Ohash·*hashtable,·FILE·*fp·)·;\xd |
96 | ······················This·method·prints·the·hash·table·in·a·human-readable·format.\xd | 96 | ······················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\xd | 97 | ······················Error·checking:·If·hashtable·or·fp·is·NULL,·an·error·message·is·printed·and·the·program\xd |
98 | ······················exits.\xd | 98 | ······················exits.\xd |
99 | ···········4····················· | 99 | ···········4·····················I2Ohash·:·DRAFT·February·13,·2025\xd |
100 | ···········1.3··Driver·programs·for·the·I2Ohash·object\xd | 100 | ···········1.3··Driver·programs·for·the·I2Ohash·object\xd |
101 | ·············1.·test_hash·msglvl·msgFile·size·grow·maxkey·nent·seed\xd | 101 | ·············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\xd | 102 | ···············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\xd | 103 | ···············hash·table·and·prints·out·the·“measure”·of·how·well·distributed·the·entries·are·in·the·hash\xd |
104 | ···············table.\xd | 104 | ···············table.\xd |
105 | ·················•·The·msglvl·parameter·determines·the·amount·of·output.·Use·msglvl·=·1·for·just\xd | 105 | ·················•·The·msglvl·parameter·determines·the·amount·of·output.·Use·msglvl·=·1·for·just\xd |
106 | ···················timing·output.\xd | 106 | ···················timing·output.\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·IIheap.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·IIheap.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1278, 19 lines modified | Offset 1278, 21 lines modified | ||
1278 | end·readonly·def | 1278 | end·readonly·def |
1279 | /Encoding·256·array | 1279 | /Encoding·256·array |
1280 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1280 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1281 | dup·44·/comma·put | 1281 | dup·44·/comma·put |
1282 | dup·48·/zero·put | 1282 | dup·48·/zero·put |
1283 | dup·49·/one·put | 1283 | dup·49·/one·put |
1284 | dup·50·/two·put | 1284 | dup·50·/two·put |
1285 | dup·51·/three·put | ||
1285 | dup·5 | 1286 | dup·53·/five·put |
1286 | dup·58·/colon·put | 1287 | dup·58·/colon·put |
1287 | dup·7 | 1288 | dup·70·/F·put |
1288 | dup·97·/a·put | 1289 | dup·97·/a·put |
1290 | dup·98·/b·put | ||
1289 | dup·1 | 1291 | dup·101·/e·put |
1290 | dup·114·/r·put | 1292 | dup·114·/r·put |
1291 | dup·117·/u·put | 1293 | dup·117·/u·put |
1292 | dup·121·/y·put | 1294 | dup·121·/y·put |
1293 | readonly·def | 1295 | readonly·def |
1294 | currentdict·end | 1296 | currentdict·end |
1295 | currentfile·eexec | 1297 | currentfile·eexec |
1296 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1298 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1474, 83 lines modified | Offset 1476, 94 lines modified | ||
1474 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1476 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1475 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1477 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1476 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1478 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1477 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1479 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1478 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1480 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1479 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1481 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1480 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1482 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1481 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1483 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1482 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1483 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1484 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1485 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1486 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1487 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1488 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1489 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1490 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1491 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1492 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1493 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1494 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1495 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1496 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1497 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1498 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1499 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1500 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1501 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1502 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1503 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1504 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1505 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1506 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1507 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1508 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1509 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1510 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1511 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1512 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1513 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1514 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1515 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1516 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1517 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1518 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1519 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1520 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1521 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1522 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1523 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1524 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1525 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1526 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1527 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1528 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1529 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1530 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1531 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1532 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1533 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1534 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1535 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1536 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1537 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1538 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1539 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1540 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1541 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1542 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1543 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1544 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1545 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1546 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1547 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1548 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1549 | 1484 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1485 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1486 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1487 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1488 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1489 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1490 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1491 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1492 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1493 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1494 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1495 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1496 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1497 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 5435/16980 bytes (32.01%) of diff not shown. |
Offset 17, 15 lines modified | Offset 17, 15 lines modified | ||
17 | ···············location·loc\xd | 17 | ···············location·loc\xd |
18 | ···········A·correctly·initialized·and·nontrivial·IIheap·object·will·have·maxsize·>·0·and·0·<=·size·<\xd | 18 | ···········A·correctly·initialized·and·nontrivial·IIheap·object·will·have·maxsize·>·0·and·0·<=·size·<\xd |
19 | ···········maxsize.\xd | 19 | ···········maxsize.\xd |
20 | ···········1.2··Prototypes·and·descriptions·of·IIheap·methods\xd | 20 | ···········1.2··Prototypes·and·descriptions·of·IIheap·methods\xd |
21 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 21 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
22 | ···········IIheap·object.\xd | 22 | ···········IIheap·object.\xd |
23 | ·············································1\xd | 23 | ·············································1\xd |
24 | ···············2······························IIheap·:·DRAFT· | 24 | ···············2······························IIheap·:·DRAFT·February·13,·2025\xd |
25 | ···············1.2.1···Basic·methods\xd | 25 | ···············1.2.1···Basic·methods\xd |
26 | ···············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 26 | ···············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.\xd | 27 | ···············any·allocated·data,·and·free’ing·the·object.\xd |
28 | ··················1.·IIheap·*·IIheap_new·(·void·)·;\xd | 28 | ··················1.·IIheap·*·IIheap_new·(·void·)·;\xd |
29 | ····················This·method·simply·allocates·storage·for·the·IIheap·structure·and·then·sets·the·default·fields\xd | 29 | ····················This·method·simply·allocates·storage·for·the·IIheap·structure·and·then·sets·the·default·fields\xd |
30 | ····················by·a·call·to·IIheap·setDefaultFields().\xd | 30 | ····················by·a·call·to·IIheap·setDefaultFields().\xd |
31 | ··················2.·void·IIheap_setDefaultFields·(·IIheap·*heap·)·;\xd | 31 | ··················2.·void·IIheap_setDefaultFields·(·IIheap·*heap·)·;\xd |
Offset 49, 15 lines modified | Offset 49, 15 lines modified | ||
49 | ····················IVinit().·The·entries·in·the·three·vectors·are·set·to·-1.\xd | 49 | ····················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\xd | 50 | ····················Error·checking:·If·heap·is·NULL,·or·if·maxsize·≤·0,·an·error·message·is·printed·and·the\xd |
51 | ····················program·exits.\xd | 51 | ····················program·exits.\xd |
52 | ···············1.2.3···Utility·methods\xd | 52 | ···············1.2.3···Utility·methods\xd |
53 | ··················1.·int·IIheap_sizeOf·(·IIheap·*heap·)·;\xd | 53 | ··················1.·int·IIheap_sizeOf·(·IIheap·*heap·)·;\xd |
54 | ····················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd | 54 | ····················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.\xd | 55 | ····················Error·checking:·If·heap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
56 | ·····································IIheap·:·DRAFT·· | 56 | ·····································IIheap·:·DRAFT··February·13,·2025···················3\xd |
57 | ···············2.·void·IIheap_root·(·IIheap·*heap,·int·*pkey,·int·*pvalue·)·;\xd | 57 | ···············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,\xd | 58 | ·················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.\xd | 59 | ·················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\xd | 60 | ·················Error·checking:·If·heap,·pkey·or·pvalue·is·NULL,·an·error·message·is·printed·and·the·program\xd |
61 | ·················exits.\xd | 61 | ·················exits.\xd |
62 | ···············3.·void·IIheap_insert·(·IIheap·*heap,·int·key,·int·value·)·;\xd | 62 | ···············3.·void·IIheap_insert·(·IIheap·*heap,·int·key,·int·value·)·;\xd |
63 | ·················This·method·inserts·the·pair·(key,value)·into·the·heap.\xd | 63 | ·················This·method·inserts·the·pair·(key,value)·into·the·heap.\xd |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·IV.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·IV.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1610, 19 lines modified | Offset 1610, 21 lines modified | ||
1610 | end·readonly·def | 1610 | end·readonly·def |
1611 | /Encoding·256·array | 1611 | /Encoding·256·array |
1612 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1612 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1613 | dup·44·/comma·put | 1613 | dup·44·/comma·put |
1614 | dup·48·/zero·put | 1614 | dup·48·/zero·put |
1615 | dup·49·/one·put | 1615 | dup·49·/one·put |
1616 | dup·50·/two·put | 1616 | dup·50·/two·put |
1617 | dup·51·/three·put | ||
1617 | dup·5 | 1618 | dup·53·/five·put |
1618 | dup·58·/colon·put | 1619 | dup·58·/colon·put |
1619 | dup·7 | 1620 | dup·70·/F·put |
1620 | dup·97·/a·put | 1621 | dup·97·/a·put |
1622 | dup·98·/b·put | ||
1621 | dup·1 | 1623 | dup·101·/e·put |
1622 | dup·114·/r·put | 1624 | dup·114·/r·put |
1623 | dup·117·/u·put | 1625 | dup·117·/u·put |
1624 | dup·121·/y·put | 1626 | dup·121·/y·put |
1625 | readonly·def | 1627 | readonly·def |
1626 | currentdict·end | 1628 | currentdict·end |
1627 | currentfile·eexec | 1629 | currentfile·eexec |
1628 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1630 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1806, 83 lines modified | Offset 1808, 94 lines modified | ||
1806 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1808 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1807 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1809 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1808 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1810 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1809 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1811 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1810 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1812 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1811 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1813 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1812 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1814 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1813 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1815 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1814 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1815 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1816 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1817 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1818 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1819 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1820 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1821 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1822 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1823 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1824 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1825 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1826 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1827 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1828 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1829 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1830 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1831 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1832 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1833 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1834 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1835 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1836 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1837 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1838 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1839 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1840 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1841 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1842 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1843 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1844 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1845 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1846 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1847 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1848 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1849 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1850 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1851 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1852 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1853 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1854 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1855 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1856 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1857 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1858 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1859 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1860 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1861 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1862 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1863 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1864 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1865 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1866 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1867 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1868 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1869 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1870 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1871 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1872 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1873 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1874 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1875 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1876 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1877 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1878 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1879 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1880 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1881 | 1816 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1817 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1818 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1819 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1820 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1821 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1822 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1823 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1824 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1825 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1826 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1827 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1828 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1829 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 16254/27795 bytes (58.48%) of diff not shown. |
Offset 24, 15 lines modified | Offset 24, 15 lines modified | ||
24 | ····················IV·setMaxsize()·methods)·than·it·is·to·duplicate·code·to·work·on·an·int·vector.\xd | 24 | ····················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\xd | 25 | ···············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\xd | 26 | ···············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\xd | 27 | ···············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}\xd | 28 | ···············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.\xd | 29 | ···············files,·but·now·IV·objects·appear·much·more·frequently·in·new·development.\xd |
30 | ·····························································1\xd | 30 | ·····························································1\xd |
31 | ··············2·····························IV·:·DRAFT· | 31 | ··············2·····························IV·:·DRAFT·February·13,·2025\xd |
32 | ··············1.1···Data·Structure\xd | 32 | ··············1.1···Data·Structure\xd |
33 | ··············The·IV·structure·has·four·fields.\xd | 33 | ··············The·IV·structure·has·four·fields.\xd |
34 | ·················•·int·size·:·present·size·of·the·vector.\xd | 34 | ·················•·int·size·:·present·size·of·the·vector.\xd |
35 | ·················•·int·maxsize·:·maximum·size·of·the·vector.\xd | 35 | ·················•·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\xd | 36 | ·················•·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·>\xd | 37 | ···················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\xd | 38 | ···················0,·this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not\xd |
Offset 58, 15 lines modified | Offset 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\xd | 58 | ···················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().\xd | 59 | ···················with·a·call·to·IV·setDefaultFields().\xd |
60 | ···················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 60 | ···················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
61 | ················4.·void·IV_free·(·IV·*iv·)·;\xd | 61 | ················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\xd | 62 | ···················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().\xd | 63 | ···················structure·with·a·call·to·free().\xd |
64 | ···················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 64 | ···················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
65 | ·······································IV·:·DRAFT·· | 65 | ·······································IV·:·DRAFT··February·13,·2025·····················3\xd |
66 | ············1.2.2··Instance·methods\xd | 66 | ············1.2.2··Instance·methods\xd |
67 | ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd | 67 | ············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\xd | 68 | ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd |
69 | ············the·methods.\xd | 69 | ············the·methods.\xd |
70 | ···············1.·int·IV_owned·(·IV·*iv·)·;\xd | 70 | ···············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\xd | 71 | ·················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\xd | 72 | ·················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 modified | Offset 91, 15 lines modified | ||
91 | ·················the·vector.\xd | 91 | ·················the·vector.\xd |
92 | ·················Error·checking:·If·iv,·psize·or·pentries·is·NULL·an·error·message·is·printed·and·the·program\xd | 92 | ·················Error·checking:·If·iv,·psize·or·pentries·is·NULL·an·error·message·is·printed·and·the·program\xd |
93 | ·················exits.\xd | 93 | ·················exits.\xd |
94 | ···············7.·void·IV_setEntry·(·IV·*iv,·int·loc,·int·value·)·;\xd | 94 | ···············7.·void·IV_setEntry·(·IV·*iv,·int·loc,·int·value·)·;\xd |
95 | ·················This·method·sets·the·loc’th·entry·of·the·vector·to·value.\xd | 95 | ·················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\xd | 96 | ·················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.\xd | 97 | ·················and·the·program·exits.\xd |
98 | ··············4·····························IV·:·DRAFT· | 98 | ··············4·····························IV·:·DRAFT·February·13,·2025\xd |
99 | ··············1.2.3··Initializer·methods\xd | 99 | ··············1.2.3··Initializer·methods\xd |
100 | ················1.·void·IV_init·(·IV·*iv,·int·size,·int·*entries·)·;\xd | 100 | ················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\xd | 101 | ···················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\xd | 102 | ···················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\xd | 103 | ···················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\xd | 104 | ···················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.\xd | 105 | ···················then·a·vector·is·allocated·by·the·object,·and·the·object·owns·this·storage.\xd |
Offset 128, 15 lines modified | Offset 128, 15 lines modified | ||
128 | ···················Error·checking:·If·iv·is·NULL·or·newsize·<·0,·or·if·0·<·maxsize·<·newsize·and·owned·==\xd | 128 | ···················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.\xd | 129 | ···················0,·an·error·message·is·printed·and·the·program·exits.\xd |
130 | ··············1.2.4··Utility·methods\xd | 130 | ··············1.2.4··Utility·methods\xd |
131 | ················1.·void·IV_shiftBase·(·IV·*iv,·int·offset·)·;\xd | 131 | ················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-\xd | 132 | ···················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\xd | 133 | ···················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\xd | 134 | ···················the·vector·is·lost,·namely·vec,·the·base·of·the·entries,·is·corrupted.·If·the·object·owns·its\xd |
135 | ·······································IV·:·DRAFT·· | 135 | ·······································IV·:·DRAFT··February·13,·2025·····················5\xd |
136 | ·················entries·and·IV·free(),·IV·setSize()·or·IV·setMaxsize()·is·called·before·the·base·has·been\xd | 136 | ·················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\xd | 137 | ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd |
138 | ·················useful·method,·but·use·with·caution.\xd | 138 | ·················useful·method,·but·use·with·caution.\xd |
139 | ·················Error·checking:·If·iv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 139 | ·················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·)·;\xd | 140 | ···············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\xd | 141 | ·················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\xd | 142 | ·················-·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 modified | Offset 164, 15 lines modified | ||
164 | ·················the·program·exits.\xd | 164 | ·················the·program·exits.\xd |
165 | ···············7.·int·IV_sizeOf·(·IV·*iv·)·;\xd | 165 | ···············7.·int·IV_sizeOf·(·IV·*iv·)·;\xd |
166 | ·················This·method·returns·the·number·of·bytes·taken·by·the·object.\xd | 166 | ·················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.\xd | 167 | ·················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·)·;\xd | 168 | ···············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]·!=\xd | 169 | ·················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\xd | 170 | ·················keepTag,·the·entry·is·moved·to·the·end·of·the·vector,·otherwise·it·is·moved·to·the·beginning\xd |
171 | ·······6···············IV·:·DRAFT· | 171 | ·······6···············IV·:·DRAFT·February·13,·2025\xd |
172 | ··········of·the·vector.·The·size·of·the·vector·is·reset·to·be·the·number·of·tagged·entries·that·are·now\xd | 172 | ··········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.\xd | 173 | ··········in·the·leading·locations.\xd |
174 | ··········Error·checking:·If·iv·of·tags·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd | 174 | ··········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·)·;\xd | 175 | ········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]·==\xd | 176 | ··········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\xd | 177 | ··········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\xd | 178 | ··········of·the·vector.·The·size·of·the·vector·is·reset·to·be·the·number·of·untagged·entries·that·are\xd |
Offset 201, 15 lines modified | Offset 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\xd | 201 | ··········Error·checking:·If·iv·is·NULL·or·if·loc·is·out·of·range,·an·error·message·is·printed·and·the\xd |
202 | ··········program·exits.\xd | 202 | ··········program·exits.\xd |
203 | ········14.·int·IV_decrement·(·IV·*iv,·int·loc·)·;\xd | 203 | ········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\xd | 204 | ··········This·method·decrements·the·loc’th·location·of·the·iv·object·by·one·and·returns·the·new\xd |
205 | ··········value.\xd | 205 | ··········value.\xd |
206 | ··········Error·checking:·If·iv·is·NULL·or·if·loc·is·out·of·range,·an·error·message·is·printed·and·the\xd | 206 | ··········Error·checking:·If·iv·is·NULL·or·if·loc·is·out·of·range,·an·error·message·is·printed·and·the\xd |
207 | ··········program·exits.\xd | 207 | ··········program·exits.\xd |
208 | ·······································IV·:·DRAFT·· | 208 | ·······································IV·:·DRAFT··February·13,·2025·····················7\xd |
209 | ··············15.·int·IV_findValue·(·IV·*iv,·int·value·)·;\xd | 209 | ··············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,\xd | 210 | ·················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.\xd | 211 | ·················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.\xd | 212 | ·················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·)·;\xd | 213 | ··············16.·int·IV_findValueAscending·(·IV·*iv,·int·value·)·;\xd |
214 | ·················Thismethodlooksforvalueinitsentries.·Ifvalueispresent,·alocation·isreturned,·otherwise\xd | 214 | ·················Thismethodlooksforvalueinitsentries.·Ifvalueispresent,·alocation·isreturned,·otherwise\xd |
215 | ·················-1·is·returned.·This·method·assumes·that·the·entries·are·sorted·in·ascending·order.·The·cost\xd | 215 | ·················-1·is·returned.·This·method·assumes·that·the·entries·are·sorted·in·ascending·order.·The·cost\xd |
Offset 238, 15 lines modified | Offset 238, 15 lines modified | ||
238 | ············is·size,·followed·by·the·size·entries·found·in·vec[].\xd | 238 | ············is·size,·followed·by·the·size·entries·found·in·vec[].\xd |
239 | ···············1.·int·IV_readFromFile·(·IV·*iv,·char·*fn·)·;\xd | 239 | ···············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\xd | 240 | ·················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\xd | 241 | ·················successful,·it·then·calls·IV·readFromFormattedFile()·or·IV·readFromBinaryFile(),·closes\xd |
242 | ·················the·file·and·returns·the·value·returned·from·the·called·routine.\xd | 242 | ·················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)\xd | 243 | ·················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.\xd | 244 | ·················or·*.ivb·(for·a·binary·file),·an·error·message·is·printed·and·the·method·returns·zero.\xd |
245 | ·······8···············IV·:·DRAFT· | 245 | ·······8···············IV·:·DRAFT·February·13,·2025\xd |
246 | ········2.·int·IV_readFromFormattedFile·(·IV·*iv,·FILE·*fp·)·;\xd | 246 | ········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\xd | 247 | ··········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.\xd | 248 | ··········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.\xd | 249 | ··········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·)·;\xd | 250 | ········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\xd | 251 | ··········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.\xd | 252 | ··········data,·the·value·1·is·returned.·If·an·IO·error·is·encountered·from·fread,·zero·is·returned.\xd |
Offset 274, 15 lines modified | Offset 274, 15 lines modified | ||
274 | ··········This·method·writes·the·header·and·statistics·to·a·file.·The·value·1·is·returned.\xd | 274 | ··········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.\xd | 275 | ··········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·)·;\xd | 276 | ········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\xd | 277 | ··········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\xd | 278 | ··········in·the·vector·are·found·on·lines·with·eighty·columns·and·are·separated·by·a·whitespace.·The\xd |
279 | ··········value·1·is·returned.\xd | 279 | ··········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.\xd | 280 | ··········Error·checking:·If·iv·or·fp·or·pierr·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
281 | ·······································IV·:·DRAFT·· | 281 | ·······································IV·:·DRAFT··February·13,·2025·····················9\xd |
282 | ··············10.·int·IV_writeForMatlab·(·IV·*iv,·char·*name,·FILE·*fp·)·;\xd | 282 | ··············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\xd | 283 | ·················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\xd | 284 | ·················character·string·name·is·the·name·of·the·vector,·e.g,·if·name·=·"A",·then·we·have·lines·of·the\xd |
285 | ·················form\xd | 285 | ·················form\xd |
286 | ·················A(1)·=·32·;\xd | 286 | ·················A(1)·=·32·;\xd |
287 | ·················A(2)·=·-433·;\xd | 287 | ·················A(2)·=·-433·;\xd |
288 | ·················...\xd | 288 | ·················...\xd |
Max diff block lines reached; -1/10861 bytes (-0.01%) of diff not shown. |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·IVL.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·IVL.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1857, 19 lines modified | Offset 1857, 21 lines modified | ||
1857 | end·readonly·def | 1857 | end·readonly·def |
1858 | /Encoding·256·array | 1858 | /Encoding·256·array |
1859 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1859 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1860 | dup·44·/comma·put | 1860 | dup·44·/comma·put |
1861 | dup·48·/zero·put | 1861 | dup·48·/zero·put |
1862 | dup·49·/one·put | 1862 | dup·49·/one·put |
1863 | dup·50·/two·put | 1863 | dup·50·/two·put |
1864 | dup·51·/three·put | ||
1864 | dup·5 | 1865 | dup·53·/five·put |
1865 | dup·58·/colon·put | 1866 | dup·58·/colon·put |
1866 | dup·7 | 1867 | dup·70·/F·put |
1867 | dup·97·/a·put | 1868 | dup·97·/a·put |
1869 | dup·98·/b·put | ||
1868 | dup·1 | 1870 | dup·101·/e·put |
1869 | dup·114·/r·put | 1871 | dup·114·/r·put |
1870 | dup·117·/u·put | 1872 | dup·117·/u·put |
1871 | dup·121·/y·put | 1873 | dup·121·/y·put |
1872 | readonly·def | 1874 | readonly·def |
1873 | currentdict·end | 1875 | currentdict·end |
1874 | currentfile·eexec | 1876 | currentfile·eexec |
1875 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1877 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2053, 83 lines modified | Offset 2055, 94 lines modified | ||
2053 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2055 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2054 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2056 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2055 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2057 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2056 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2058 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2057 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2059 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2058 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2060 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2059 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2061 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2060 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2062 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2061 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2062 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2063 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2064 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2065 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2066 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2067 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2068 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2069 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2070 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2071 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2072 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2073 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2074 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2075 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2076 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2077 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2078 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2079 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2080 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2081 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2082 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2083 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2084 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2085 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2086 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2087 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2088 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2089 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2090 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2091 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2092 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2093 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2094 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2095 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2096 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2097 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2098 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2099 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2100 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2101 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2102 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2103 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2104 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2105 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2106 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2107 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2108 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2109 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2110 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2111 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2112 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2113 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2114 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2115 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2116 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2117 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2118 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2119 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2120 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2121 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2122 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2123 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2124 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2125 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2126 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2127 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2128 | 2063 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2064 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2065 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2066 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2067 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2068 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2069 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2070 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2071 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2072 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2073 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2074 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2075 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2076 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 18903/30445 bytes (62.09%) of diff not shown. |
Offset 22, 15 lines modified | Offset 22, 15 lines modified | ||
22 | ···················Each·list·is·allocated·separately·using·the·IVinit()·function.·When·the·IVL·object·is\xd | 22 | ···················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.\xd | 23 | ···················free’d,·each·list·is·free’d·separately·using·the·IVfree()·function.\xd |
24 | ·················–·IVL·UNKNOWN\xd | 24 | ·················–·IVL·UNKNOWN\xd |
25 | ···················This·storage·mode·is·available·for·the·cases·where·storage·for·a·list·is·aliased·to·another\xd | 25 | ···················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.\xd | 26 | ···················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().\xd | 27 | ···············The·storage·management·is·handled·by·IVL·setList()·and·IVL·setPointerToList().\xd |
28 | ·············································1\xd | 28 | ·············································1\xd |
29 | ··············2···························· | 29 | ··············2····························IVL·:·DRAFT·February·13,·2025\xd |
30 | ·················•·int·maxnlist·:·maximum·number·of·lists.\xd | 30 | ·················•·int·maxnlist·:·maximum·number·of·lists.\xd |
31 | ···················int·nlist·:·number·of·lists.\xd | 31 | ···················int·nlist·:·number·of·lists.\xd |
32 | ···················We·may·not·know·how·many·lists·we·will·need·for·the·object·—·maxnlist·is·the·dimension\xd | 32 | ···················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\xd | 33 | ···················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\xd | 34 | ···················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().\xd | 35 | ···················maxnlist.·We·resize·the·object·using·IVL·setMaxnlist().\xd |
36 | ·················•·int·tsize·:·total·number·of·list·entries.\xd | 36 | ·················•·int·tsize·:·total·number·of·list·entries.\xd |
Offset 57, 15 lines modified | Offset 57, 15 lines modified | ||
57 | ················1.·IVL·*·IVL_new·(·void·)·;\xd | 57 | ················1.·IVL·*·IVL_new·(·void·)·;\xd |
58 | ···················This·method·simply·allocates·storage·for·the·IVL·structure·and·then·sets·the·default·fields·by\xd | 58 | ···················This·method·simply·allocates·storage·for·the·IVL·structure·and·then·sets·the·default·fields·by\xd |
59 | ···················a·call·to·IVL·setDefaultFields().\xd | 59 | ···················a·call·to·IVL·setDefaultFields().\xd |
60 | ················2.·void·IVL_setDefaultFields·(·IVL·*ivl·)·;\xd | 60 | ················2.·void·IVL_setDefaultFields·(·IVL·*ivl·)·;\xd |
61 | ···················This·method·sets·the·default·fields·of·the·object·—·type·=·IVL·NOTYPE,·maxnlist,·nlist\xd | 61 | ···················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.\xd | 62 | ···················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.\xd | 63 | ···················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
64 | ·······································IVL·:·DRAFT·· | 64 | ·······································IVL·:·DRAFT··February·13,·2025····················3\xd |
65 | ···············3.·void·IVL_clearData·(·IVL·*ivl·)·;\xd | 65 | ···············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\xd | 66 | ·················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\xd | 67 | ·················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.\xd | 68 | ·················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.\xd | 69 | ·················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
70 | ···············4.·void·IVL_free·(·IVL·*ivl·)·;\xd | 70 | ···············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\xd | 71 | ·················This·method·releases·any·storage·by·a·call·to·IVL·clearData()·then·free’s·the·storage·for\xd |
Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | ···············5.·int·IVL_incr·(·IVL·*ivl·)·;\xd | 87 | ···············5.·int·IVL_incr·(·IVL·*ivl·)·;\xd |
88 | ·················This·method·returns·incr,·the·storage·increment.\xd | 88 | ·················This·method·returns·incr,·the·storage·increment.\xd |
89 | ·················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 89 | ·················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·)·;\xd | 90 | ···············6.·int·IVL_setincr·(·IVL·*ivl,·int·incr·)·;\xd |
91 | ·················This·method·sets·the·storage·increment·to·incr.\xd | 91 | ·················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\xd | 92 | ·················Error·checking:·If·ivl·is·NULL·or·incr·is·negative,·an·error·message·is·printed·and·the·program\xd |
93 | ·················exits.\xd | 93 | ·················exits.\xd |
94 | ··············4···························· | 94 | ··············4····························IVL·:·DRAFT·February·13,·2025\xd |
95 | ··············1.2.3··Initialization·and·resizing·methods\xd | 95 | ··············1.2.3··Initialization·and·resizing·methods\xd |
96 | ················1.·void·IVL_init1·(·IVL·*ivl,·int·type,·int·maxnlist·)·;\xd | 96 | ················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\xd | 97 | ···················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\xd | 98 | ···················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.\xd | 99 | ···················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\xd | 100 | ···················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.\xd | 101 | ···················printed·and·the·program·exits.\xd |
Offset 124, 15 lines modified | Offset 124, 15 lines modified | ||
124 | ···················newmaxnlist·==·maxnlist,nothingisdone.·Otherwise,newstorageforsizes[]andp·vec[]\xd | 124 | ···················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\xd | 125 | ···················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\xd | 126 | ···················free’d.·Note,·maxnlist·is·set·to·newmaxnlist·and·nlist·is·set·to·the·minimum·of·nlist·and\xd |
127 | ···················newmaxnlist.\xd | 127 | ···················newmaxnlist.\xd |
128 | ···················Error·checking:·If·ivl·is·NULL·or·if·newmaxnlist·is·negative,·an·error·message·is·printed·and\xd | 128 | ···················Error·checking:·If·ivl·is·NULL·or·if·newmaxnlist·is·negative,·an·error·message·is·printed·and\xd |
129 | ···················the·program·exits.\xd | 129 | ···················the·program·exits.\xd |
130 | ················6.·void·IVL_setNlist·(·IVL·*ivl,·int·newnlist·)·;\xd | 130 | ················6.·void·IVL_setNlist·(·IVL·*ivl,·int·newnlist·)·;\xd |
131 | ·······································IVL·:·DRAFT·· | 131 | ·······································IVL·:·DRAFT··February·13,·2025····················5\xd |
132 | ·················This·method·is·used·to·change·the·number·of·lists.·If·newnlist·>·maxnlist,·storage·for\xd | 132 | ·················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\xd | 133 | ·················the·lists·is·increased·via·a·call·to·the·IVL·setMaxnlist()·method.·Then·nlist·is·set·to\xd |
134 | ·················newnlist.\xd | 134 | ·················newnlist.\xd |
135 | ·················Error·checking:·If·ivl·is·NULL,·or·if·newnlist·is·negative,·an·error·message·is·printed·and\xd | 135 | ·················Error·checking:·If·ivl·is·NULL,·or·if·newnlist·is·negative,·an·error·message·is·printed·and\xd |
136 | ·················the·program·exits.\xd | 136 | ·················the·program·exits.\xd |
137 | ············1.2.4··List·manipulation·methods\xd | 137 | ············1.2.4··List·manipulation·methods\xd |
138 | ···············1.·void·IVL_listAndSize·(·IVL·*ivl,·int·ilist,·int·*psize,·int·**pivec)·;\xd | 138 | ···············1.·void·IVL_listAndSize·(·IVL·*ivl,·int·ilist,·int·*psize,·int·**pivec)·;\xd |
Offset 151, 15 lines modified | Offset 151, 15 lines modified | ||
151 | ·················if·so·an·error·message·is·printed·and·the·program·exits.·In·method·IVL·firstInList(),·if\xd | 151 | ·················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\xd | 152 | ·················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\xd | 153 | ·················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.\xd | 154 | ·················message·is·printed·and·the·program·exits.\xd |
155 | ···············3.·void·IVL_setList·(·IVL·*ivl,·int·ilist,·int·isize,·int·ivec[]·)·;\xd | 155 | ···············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\xd | 156 | ·················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:\xd | 157 | ·················method·depends·on·the·type·of·the·ivl·object.·Here·is·the·flow·chart:\xd |
158 | ··············6···························· | 158 | ··············6····························IVL·:·DRAFT·February·13,·2025\xd |
159 | ····························if·ilist·>=·maxnlist·then\xd | 159 | ····························if·ilist·>=·maxnlist·then\xd |
160 | ·································the·number·of·lists·is·increased·via·a·call·to·IVL·setMaxnlist()\xd | 160 | ·································the·number·of·lists·is·increased·via·a·call·to·IVL·setMaxnlist()\xd |
161 | ····························endif\xd | 161 | ····························endif\xd |
162 | ····························if·ilist·>=·nlist·then\xd | 162 | ····························if·ilist·>=·nlist·then\xd |
163 | ·································nlist·is·increased\xd | 163 | ·································nlist·is·increased\xd |
164 | ····························endif\xd | 164 | ····························endif\xd |
165 | ····························if·isize·=·0·then\xd | 165 | ····························if·isize·=·0·then\xd |
Offset 189, 15 lines modified | Offset 189, 15 lines modified | ||
189 | ···················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 189 | ···················Error·checking:·If·ivl·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
190 | ················2.·int·IVL_min·(·IVL·*ivl·)·;\xd | 190 | ················2.·int·IVL_min·(·IVL·*ivl·)·;\xd |
191 | ···················int·IVL_max·(·IVL·*ivl·)·;\xd | 191 | ···················int·IVL_max·(·IVL·*ivl·)·;\xd |
192 | ···················int·IVL_maxListSize·(·IVL·*ivl·)·;\xd | 192 | ···················int·IVL_maxListSize·(·IVL·*ivl·)·;\xd |
193 | ···················int·IVL_sum·(·IVL·*ivl·)·;\xd | 193 | ···················int·IVL_sum·(·IVL·*ivl·)·;\xd |
194 | ···················These·methods·return·some·simple·information·about·the·object.\xd | 194 | ···················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.\xd | 195 | ···················Error·checking:·If·ivl·is·NULL·then·an·error·message·is·printed·and·the·program·exits.\xd |
196 | ·······································IVL·:·DRAFT·· | 196 | ·······································IVL·:·DRAFT··February·13,·2025····················7\xd |
197 | ···············3.·int·IVL_sortUp·(·IVL·*ivl·)·;\xd | 197 | ···············3.·int·IVL_sortUp·(·IVL·*ivl·)·;\xd |
198 | ·················This·method·sorts·each·list·into·ascending·order.\xd | 198 | ·················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\xd | 199 | ·················Error·checking:·If·ivl·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the·program\xd |
200 | ·················exits.\xd | 200 | ·················exits.\xd |
201 | ···············4.·int·*·IVL_equivMap1·(·IVL·*ivl·)·;\xd | 201 | ···············4.·int·*·IVL_equivMap1·(·IVL·*ivl·)·;\xd |
202 | ·················IV·*·IVL_equivMap2·(·IVL·*ivl·)·;\xd | 202 | ·················IV·*·IVL_equivMap2·(·IVL·*ivl·)·;\xd |
203 | ·················Two·lists·are·equivalent·if·their·contents·are·identical.·These·methods·are·used·to·find·the\xd | 203 | ·················Two·lists·are·equivalent·if·their·contents·are·identical.·These·methods·are·used·to·find·the\xd |
Offset 226, 15 lines modified | Offset 226, 15 lines modified | ||
226 | ·················and·the·program·exits.\xd | 226 | ·················and·the·program·exits.\xd |
227 | ···············8.·IVL·*·IVL_expand·(·IVL·*ivl,·IV·*eqmapIV·)·;\xd | 227 | ···············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\xd | 228 | ·················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\xd | 229 | ·················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\xd | 230 | ·················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.\xd | 231 | ·················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.\xd | 232 | ·················Error·checking:·If·ivl·or·eqmapIV·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
233 | ··············8···························· | 233 | ··············8····························IVL·:·DRAFT·February·13,·2025\xd |
234 | ··············1.2.6··Miscellaneous·methods\xd | 234 | ··············1.2.6··Miscellaneous·methods\xd |
235 | ················1.·IVL·*·IVL_make9P·(·int·n1,·int·n2,·int·ncomp·)·;\xd | 235 | ················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\xd | 236 | ···················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.\xd | 237 | ···················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\xd | 238 | ···················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.\xd | 239 | ···················and·the·program·exits.\xd |
240 | ················2.·IVL·*·IVL_make13P·(·int·n1,·int·n2·)·;\xd | 240 | ················2.·IVL·*·IVL_make13P·(·int·n1,·int·n2·)·;\xd |
Offset 261, 15 lines modified | Offset 261, 15 lines modified | ||
261 | ···················and·returns·the·value·returned·from·the·called·routine.\xd | 261 | ···················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)\xd | 262 | ···················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.\xd | 263 | ···················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·)·;\xd | 264 | ················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\xd | 265 | ···················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.\xd | 266 | ···················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.\xd | 267 | ···················Error·checking:·If·ivl·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd |
268 | ·············································IVL·:·DRAFT····· | 268 | ·············································IVL·:·DRAFT·····February·13,·2025··························9\xd |
269 | ·················3.·int·IVL_readFromBinaryFile·(·IVL·*ivl,·FILE·*fp·)·;\xd | 269 | ·················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,\xd | 270 | ····················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.\xd | 271 | ····················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.\xd | 272 | ····················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·)·;\xd | 273 | ·················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\xd | 274 | ····················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\xd | 275 | ····················method·calls·IVL·writeFromFormattedFile()·or·IVL·writeFromBinaryFile(),·closes·the\xd |
Max diff block lines reached; 1322/12071 bytes (10.95%) of diff not shown. |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·Ideq.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·Ideq.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1257, 19 lines modified | Offset 1257, 21 lines modified | ||
1257 | end·readonly·def | 1257 | end·readonly·def |
1258 | /Encoding·256·array | 1258 | /Encoding·256·array |
1259 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1259 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1260 | dup·44·/comma·put | 1260 | dup·44·/comma·put |
1261 | dup·48·/zero·put | 1261 | dup·48·/zero·put |
1262 | dup·49·/one·put | 1262 | dup·49·/one·put |
1263 | dup·50·/two·put | 1263 | dup·50·/two·put |
1264 | dup·51·/three·put | ||
1264 | dup·5 | 1265 | dup·53·/five·put |
1265 | dup·58·/colon·put | 1266 | dup·58·/colon·put |
1266 | dup·7 | 1267 | dup·70·/F·put |
1267 | dup·97·/a·put | 1268 | dup·97·/a·put |
1269 | dup·98·/b·put | ||
1268 | dup·1 | 1270 | dup·101·/e·put |
1269 | dup·114·/r·put | 1271 | dup·114·/r·put |
1270 | dup·117·/u·put | 1272 | dup·117·/u·put |
1271 | dup·121·/y·put | 1273 | dup·121·/y·put |
1272 | readonly·def | 1274 | readonly·def |
1273 | currentdict·end | 1275 | currentdict·end |
1274 | currentfile·eexec | 1276 | currentfile·eexec |
1275 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1277 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1453, 83 lines modified | Offset 1455, 94 lines modified | ||
1453 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1455 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1454 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1456 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1455 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1457 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1456 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1458 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1457 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1459 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1458 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1460 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1459 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1461 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1460 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1462 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1461 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1462 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1463 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1464 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1465 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1466 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1467 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1468 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1469 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1470 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1471 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1472 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1473 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1474 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1475 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1476 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1477 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1478 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1479 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1480 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1481 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1482 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1483 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1484 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1485 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1486 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1487 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1488 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1489 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1490 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1491 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1492 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1493 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1494 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1495 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1496 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1497 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1498 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1499 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1500 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1501 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1502 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1503 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1504 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1505 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1506 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1507 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1508 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1509 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1510 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1511 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1512 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1513 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1514 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1515 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1516 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1517 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1518 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1519 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1520 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1521 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1522 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1523 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1524 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1525 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1526 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1527 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1528 | 1463 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1464 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1465 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1466 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1467 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1468 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1469 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1470 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1471 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1472 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1473 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1474 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1475 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1476 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 7754/19297 bytes (40.18%) of diff not shown. |
Offset 16, 15 lines modified | Offset 16, 15 lines modified | ||
16 | ·············•·IV·iv·:·an·IV·object·to·hold·the·list·vector.\xd | 16 | ·············•·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\xd | 17 | ···········A·correctly·initialized·and·nontrivial·Ideq·object·will·have·maxsize·>·0.·When·the·dequeue·is\xd |
18 | ···········empty,·head·=·tail·=·-1.\xd | 18 | ···········empty,·head·=·tail·=·-1.\xd |
19 | ···········1.2··Prototypes·and·descriptions·of·Ideq·methods\xd | 19 | ···········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\xd | 20 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Ideq\xd |
21 | ···········object.\xd | 21 | ···········object.\xd |
22 | ·············································1\xd | 22 | ·············································1\xd |
23 | ··············2····························Ideq·:·DRAFT· | 23 | ··············2····························Ideq·:·DRAFT·February·13,·2025\xd |
24 | ··············1.2.1··Basic·methods\xd | 24 | ··············1.2.1··Basic·methods\xd |
25 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 25 | ··············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.\xd | 26 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
27 | ················1.·Ideq·*·Ideq_new·(·void·)·;\xd | 27 | ················1.·Ideq·*·Ideq_new·(·void·)·;\xd |
28 | ···················This·method·simply·allocates·storage·for·the·Ideq·structure·and·then·sets·the·default·fields\xd | 28 | ···················This·method·simply·allocates·storage·for·the·Ideq·structure·and·then·sets·the·default·fields\xd |
29 | ···················by·a·call·to·Ideq·setDefaultFields().\xd | 29 | ···················by·a·call·to·Ideq·setDefaultFields().\xd |
30 | ················2.·void·Ideq_setDefaultFields·(·Ideq·*deq·)·;\xd | 30 | ················2.·void·Ideq_setDefaultFields·(·Ideq·*deq·)·;\xd |
Offset 47, 50 lines modified | Offset 47, 50 lines modified | ||
47 | ···················initializer.\xd | 47 | ···················initializer.\xd |
48 | ···················If·the·present·size·of·the·list·(the·number·of·entries·between·head·and·tail·inclusive)·is·larger\xd | 48 | ···················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\xd | 49 | ···················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\xd | 50 | ···················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.\xd | 51 | ···················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\xd | 52 | ···················Error·checking:·If·deq·is·NULL,·or·if·newsize·<·0,·an·error·message·is·printed·and·the·program\xd |
53 | ···················exits.\xd | 53 | ···················exits.\xd |
54 | ······································Ideq·:·DRAFT·· | 54 | ······································Ideq·:·DRAFT··February·13,·2025···················3\xd |
55 | ············1.2.3··Utility·methods\xd | 55 | ············1.2.3··Utility·methods\xd |
56 | ·············· | 56 | ··············1.·void·Ideq_clear·(·Ideq·*deq·)·;\xd |
57 | ·················This·method·clears·the·dequeue.·The·head·and·tail·fields·are·set·to·-1.\xd | 57 | ·················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.\xd | 58 | ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
59 | ·············· | 59 | ··············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\xd | 60 | ·················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\xd | 61 | ·················==·-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.\xd | 62 | ·················-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.\xd | 63 | ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
64 | ·············· | 64 | ··············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\xd | 65 | ·················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\xd | 66 | ·················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.\xd | 67 | ·················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.\xd | 68 | ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
69 | ·············· | 69 | ··············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\xd | 70 | ·················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.\xd | 71 | ·················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.\xd | 72 | ·················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.\xd | 73 | ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
74 | ·············· | 74 | ··············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·==\xd | 75 | ·················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\xd | 76 | ·················-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.\xd | 77 | ·················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.\xd | 78 | ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
79 | ·············· | 79 | ··············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\xd | 80 | ·················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\xd | 81 | ·················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.\xd | 82 | ·················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.\xd | 83 | ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
84 | ·············· | 84 | ··············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\xd | 85 | ·················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.\xd | 86 | ·················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.\xd | 87 | ·················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.\xd | 88 | ·················Error·checking:·If·deq·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
89 | ··············4····························Ideq·:·DRAFT· | 89 | ··············4····························Ideq·:·DRAFT·February·13,·2025\xd |
90 | ··············1.2.4··IO·methods\xd | 90 | ··············1.2.4··IO·methods\xd |
91 | ················1.·void·Ideq_writeForHumanEye·(·Ideq·*deq·)·;\xd | 91 | ················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\xd | 92 | ···················This·method·write·the·state·of·the·object,·(the·size,·head·and·tail)·and·the·list·of·entries·to\xd |
93 | ···················a·file.\xd | 93 | ···················a·file.\xd |
94 | ···················Error·checking:·If·deq·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 94 | ···················Error·checking:·If·deq·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
95 | ·······Index\xd | 95 | ·······Index\xd |
96 | ·······Ideq·clear(),·3\xd | 96 | ·······Ideq·clear(),·3\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·InpMtx.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·InpMtx.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2764, 19 lines modified | Offset 2764, 21 lines modified | ||
2764 | end·readonly·def | 2764 | end·readonly·def |
2765 | /Encoding·256·array | 2765 | /Encoding·256·array |
2766 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2766 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2767 | dup·44·/comma·put | 2767 | dup·44·/comma·put |
2768 | dup·48·/zero·put | 2768 | dup·48·/zero·put |
2769 | dup·49·/one·put | 2769 | dup·49·/one·put |
2770 | dup·50·/two·put | 2770 | dup·50·/two·put |
2771 | dup·51·/three·put | ||
2771 | dup·5 | 2772 | dup·53·/five·put |
2772 | dup·58·/colon·put | 2773 | dup·58·/colon·put |
2773 | dup·7 | 2774 | dup·70·/F·put |
2774 | dup·97·/a·put | 2775 | dup·97·/a·put |
2776 | dup·98·/b·put | ||
2775 | dup·1 | 2777 | dup·101·/e·put |
2776 | dup·114·/r·put | 2778 | dup·114·/r·put |
2777 | dup·117·/u·put | 2779 | dup·117·/u·put |
2778 | dup·121·/y·put | 2780 | dup·121·/y·put |
2779 | readonly·def | 2781 | readonly·def |
2780 | currentdict·end | 2782 | currentdict·end |
2781 | currentfile·eexec | 2783 | currentfile·eexec |
2782 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2784 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2960, 83 lines modified | Offset 2962, 94 lines modified | ||
2960 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2962 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2961 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2963 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2962 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2964 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2963 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2965 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2964 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2966 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2965 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2967 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2966 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2968 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2967 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2969 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2968 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2969 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2970 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2971 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2972 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2973 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2974 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2975 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2976 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2977 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2978 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2979 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2980 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2981 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2982 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2983 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2984 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2985 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2986 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2987 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2988 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2989 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2990 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2991 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2992 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2993 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2994 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2995 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2996 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2997 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2998 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2999 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
3000 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
3001 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
3002 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
3003 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
3004 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
3005 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
3006 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
3007 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
3008 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
3009 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
3010 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
3011 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
3012 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
3013 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
3014 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
3015 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
3016 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
3017 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
3018 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
3019 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
3020 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
3021 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
3022 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
3023 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
3024 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
3025 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
3026 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
3027 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
3028 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
3029 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
3030 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
3031 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
3032 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
3033 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
3034 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
3035 | 2970 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2971 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2972 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2973 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2974 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2975 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2976 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2977 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2978 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2979 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2980 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2981 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2982 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2983 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 46463/58008 bytes (80.10%) of diff not shown. |
Offset 28, 15 lines modified | Offset 28, 15 lines modified | ||
28 | ·······················be·efficient·to·have·sufficient·elbow·room·to·minimize·the·number·of·sorts·and·compressions.·In·this\xd | 28 | ·······················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.\xd | 29 | ·······················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().\xd | 30 | ·······················The·entries·are·assembled·by·a·call·to·InpMtx·changeStorageMode().\xd |
31 | ··················································································T\xd | 31 | ··················································································T\xd |
32 | ····················5.·CreateanIVLobjectthatcontainsthefull·adjacencyofA+A·bycallingtheInpMtx·fullAdjacency()\xd | 32 | ····················5.·CreateanIVLobjectthatcontainsthefull·adjacencyofA+A·bycallingtheInpMtx·fullAdjacency()\xd |
33 | ·······················method.\xd | 33 | ·······················method.\xd |
34 | ·····································································1\xd | 34 | ·····································································1\xd |
35 | ················2·································· | 35 | ················2··································InpMtx·:·DRAFT·February·13,·2025\xd |
36 | ···················6.·Create·a·Graph·object·using·the·Graph·init2()·method·and·the·IVL·object·as·an·input·argument.\xd | 36 | ···················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\xd | 37 | ················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\xd | 38 | ················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()\xd | 39 | ················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.\xd | 40 | ················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\xd | 41 | ···················Here·is·a·common·sequence·of·events·to·use·this·object·when·we·want·to·assemble·the·entries·of·a·sparse\xd |
42 | ················matrix.\xd | 42 | ················matrix.\xd |
Offset 68, 15 lines modified | Offset 68, 15 lines modified | ||
68 | ····································j,j··j,k·········k,j\xd | 68 | ····································j,j··j,k·········k,j\xd |
69 | ························–·INPMTX·CUSTOM·—·custom·coordinates.\xd | 69 | ························–·INPMTX·CUSTOM·—·custom·coordinates.\xd |
70 | ···················•·int·storageMode·:·mode·of·storage\xd | 70 | ···················•·int·storageMode·:·mode·of·storage\xd |
71 | ························–·INPMTX·RAW·DATA·—·data·is·raw·pairs·or·triples,·two·coordinates·and·(optionally)·one·or·two\xd | 71 | ························–·INPMTX·RAW·DATA·—·data·is·raw·pairs·or·triples,·two·coordinates·and·(optionally)·one·or·two\xd |
72 | ··························double·precision·values.\xd | 72 | ··························double·precision·values.\xd |
73 | ························–·INPMTX·SORTED·—·data·is·sorted·and·distinct·triples,·the·primary·key·is·the·first·coordinate,·the\xd | 73 | ························–·INPMTX·SORTED·—·data·is·sorted·and·distinct·triples,·the·primary·key·is·the·first·coordinate,·the\xd |
74 | ··························secondary·key·is·the·second·coordinate.\xd | 74 | ··························secondary·key·is·the·second·coordinate.\xd |
75 | ··········································InpMtx·:·DRAFT·· | 75 | ··········································InpMtx·:·DRAFT··February·13,·2025·······················3\xd |
76 | ····················–·INPMTX·BY·VECTORS·—·data·is·sorted·and·distinct·vectors.·All·entries·in·a·vector·share·some-\xd | 76 | ····················–·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\xd | 77 | ······················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.\xd | 78 | ······················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\xd | 79 | ······················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.\xd | 80 | ······················common·but·it·need·not·be·a·common·row,·column·or·chevron·coordinate.\xd |
81 | ················•·int·inputMode·:·mode·of·data·input\xd | 81 | ················•·int·inputMode·:·mode·of·data·input\xd |
82 | ····················–·INPMTX·INDICES·ONLY·—·only·indices·are·stored,·not·entries.\xd | 82 | ····················–·INPMTX·INDICES·ONLY·—·only·indices·are·stored,·not·entries.\xd |
Offset 106, 15 lines modified | Offset 106, 15 lines modified | ||
106 | ················•·INPMTX·IS·BY·COLUMNS(mtx)·returns·1·if·the·entries·are·stored·by·columns,·and·0·otherwise.\xd | 106 | ················•·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.\xd | 107 | ················•·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\xd | 108 | ················•·INPMTX·IS·BY·CUSTOM(mtx)·returns·1·if·the·entries·are·stored·by·some·custom·coordinate,·and·0\xd |
109 | ··················otherwise.\xd | 109 | ··················otherwise.\xd |
110 | ················•·INPMTX·IS·RAW·DATA(mtx)·returns·1·if·the·entries·are·stored·as·unsorted·pairs·or·triples,·and·0·other-\xd | 110 | ················•·INPMTX·IS·RAW·DATA(mtx)·returns·1·if·the·entries·are·stored·as·unsorted·pairs·or·triples,·and·0·other-\xd |
111 | ··················wise.\xd | 111 | ··················wise.\xd |
112 | ················•·INPMTX·IS·SORTED(mtx)·returns·1·if·the·entries·are·stored·as·sorted·pairs·or·triples,·and·0·otherwise.\xd | 112 | ················•·INPMTX·IS·SORTED(mtx)·returns·1·if·the·entries·are·stored·as·sorted·pairs·or·triples,·and·0·otherwise.\xd |
113 | ··············4····························InpMtx·:·DRAFT· | 113 | ··············4····························InpMtx·:·DRAFT·February·13,·2025\xd |
114 | ················•·INPMTX·IS·BY·VECTORS(mtx)·returns·1·if·the·entries·are·stored·as·vectors,·and·0·otherwise.\xd | 114 | ················•·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.\xd | 115 | ················•·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.\xd | 116 | ················•·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.\xd | 117 | ················•·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\xd | 118 | ··············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.\xd | 119 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·InpMtx·object.\xd |
120 | ··············1.2.1··Basic·methods\xd | 120 | ··············1.2.1··Basic·methods\xd |
Offset 140, 15 lines modified | Offset 140, 15 lines modified | ||
140 | ················1.·int·InpMtx_coordType·(·InpMtx·*inpmtx·)·;\xd | 140 | ················1.·int·InpMtx_coordType·(·InpMtx·*inpmtx·)·;\xd |
141 | ··················This·method·returns·the·coordinate·type.\xd | 141 | ··················This·method·returns·the·coordinate·type.\xd |
142 | ····················•·INPMTX·NO·TYPE·–·none·specified\xd | 142 | ····················•·INPMTX·NO·TYPE·–·none·specified\xd |
143 | ····················•·INPMTX·BY·ROWS·–·storage·by·row·triples\xd | 143 | ····················•·INPMTX·BY·ROWS·–·storage·by·row·triples\xd |
144 | ····················•·INPMTX·BY·COLUMNS·–·storage·by·column·triples\xd | 144 | ····················•·INPMTX·BY·COLUMNS·–·storage·by·column·triples\xd |
145 | ····················•·INPMTX·BY·CHEVRONS·–·storage·by·chevron·triples\xd | 145 | ····················•·INPMTX·BY·CHEVRONS·–·storage·by·chevron·triples\xd |
146 | ····················•·INPMTX·CUSTOM·–·custom·type\xd | 146 | ····················•·INPMTX·CUSTOM·–·custom·type\xd |
147 | ··········································InpMtx·:·DRAFT·· | 147 | ··········································InpMtx·:·DRAFT··February·13,·2025·······················5\xd |
148 | ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 148 | ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
149 | ················2.·int·InpMtx_storageMode·(·InpMtx·*inpmtx·)·;\xd | 149 | ················2.·int·InpMtx_storageMode·(·InpMtx·*inpmtx·)·;\xd |
150 | ··················This·method·returns·the·storage·mode.\xd | 150 | ··················This·method·returns·the·storage·mode.\xd |
151 | ····················•·INPMTX·NO·MODE·–·none·specified\xd | 151 | ····················•·INPMTX·NO·MODE·–·none·specified\xd |
152 | ····················•·INPMTX·RAW·DATA·–·raw·triples\xd | 152 | ····················•·INPMTX·RAW·DATA·–·raw·triples\xd |
153 | ····················•·INPMTX·SORTED·–·sorted·and·distinct·triples\xd | 153 | ····················•·INPMTX·SORTED·–·sorted·and·distinct·triples\xd |
154 | ····················•·INPMTX·BY·VECTORS·–·vectors·by·the·first·coordinate\xd | 154 | ····················•·INPMTX·BY·VECTORS·–·vectors·by·the·first·coordinate\xd |
Offset 176, 15 lines modified | Offset 176, 15 lines modified | ||
176 | ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 176 | ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
177 | ················9.·int·*·InpMtx_ivec1·(·InpMtx·*inpmtx·)·;\xd | 177 | ················9.·int·*·InpMtx_ivec1·(·InpMtx·*inpmtx·)·;\xd |
178 | ··················This·method·returns·the·base·address·of·the·ivec1[]·vector.\xd | 178 | ··················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.\xd | 179 | ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
180 | ···············10.·int·*·InpMtx_ivec2·(·InpMtx·*inpmtx·)·;\xd | 180 | ···············10.·int·*·InpMtx_ivec2·(·InpMtx·*inpmtx·)·;\xd |
181 | ··················This·method·returns·the·base·address·of·the·ivec2[]·vector.\xd | 181 | ··················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.\xd | 182 | ··················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
183 | ·················6····································InpMtx·:·DRAFT· | 183 | ·················6····································InpMtx·:·DRAFT·February·13,·2025\xd |
184 | ···················11.·double·*·InpMtx_dvec·(·InpMtx·*inpmtx·)·;\xd | 184 | ···················11.·double·*·InpMtx_dvec·(·InpMtx·*inpmtx·)·;\xd |
185 | ·······················This·method·returns·the·base·address·of·the·dvec[]·vector.\xd | 185 | ·······················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.\xd | 186 | ·······················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
187 | ···················12.·int·*·InpMtx_vecids·(·InpMtx·*inpmtx·)·;\xd | 187 | ···················12.·int·*·InpMtx_vecids·(·InpMtx·*inpmtx·)·;\xd |
188 | ·······················This·method·returns·the·base·address·of·the·vecids[]·vector.\xd | 188 | ·······················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.\xd | 189 | ·······················Error·checking:·If·inpmtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
190 | ···················13.·int·*·InpMtx_sizes·(·InpMtx·*inpmtx·)·;\xd | 190 | ···················13.·int·*·InpMtx_sizes·(·InpMtx·*inpmtx·)·;\xd |
Offset 217, 15 lines modified | Offset 217, 15 lines modified | ||
217 | ·······················This·method·sets·the·maxinum·number·of·entries·in·the·indices·and·entries·vectors.\xd | 217 | ·······················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\xd | 218 | ·······················Error·checking:·If·inpmtx·is·NULL,·or·if·newmaxnent·<·0,·an·error·message·is·printed·and·the·program\xd |
219 | ·······················exits.\xd | 219 | ·······················exits.\xd |
220 | ···················18.·void·InpMtx_setNent·(·InpMtx·*inpmtx,·int·newnent·)·;\xd | 220 | ···················18.·void·InpMtx_setNent·(·InpMtx·*inpmtx,·int·newnent·)·;\xd |
221 | ·······················This·method·sets·the·present·number·of·entries·in·the·indices·and·entries·vectors.\xd | 221 | ·······················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\xd | 222 | ·······················Error·checking:·If·inpmtx·is·NULL,·or·if·newnent·<·0,·an·error·message·is·printed·and·the·program\xd |
223 | ·······················exits.\xd | 223 | ·······················exits.\xd |
224 | ··········································InpMtx·:·DRAFT·· | 224 | ··········································InpMtx·:·DRAFT··February·13,·2025·······················7\xd |
225 | ···············19.·void·InpMtx_setMaxnvector·(·InpMtx·*inpmtx,·int·newmaxnvector·)·;\xd | 225 | ···············19.·void·InpMtx_setMaxnvector·(·InpMtx·*inpmtx,·int·newmaxnvector·)·;\xd |
226 | ··················This·method·sets·the·maxinum·number·of·vectors.\xd | 226 | ··················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\xd | 227 | ··················Error·checking:·If·inpmtx·is·NULL,·or·if·newmaxnvector·<·0,·an·error·message·is·printed·and·the\xd |
228 | ··················program·exits.\xd | 228 | ··················program·exits.\xd |
229 | ···············20.·void·InpMtx_setNvector·(·InpMtx·*inpmtx,·int·newnvector·)·;\xd | 229 | ···············20.·void·InpMtx_setNvector·(·InpMtx·*inpmtx,·int·newnvector·)·;\xd |
230 | ··················This·method·sets·the·present·number·of·vectors.\xd | 230 | ··················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\xd | 231 | ··················Error·checking:·If·inpmtx·is·NULL,·or·if·newnvector·<·0,·an·error·message·is·printed·and·the·program\xd |
Offset 261, 15 lines modified | Offset 261, 15 lines modified | ||
261 | ··················exits.\xd | 261 | ··················exits.\xd |
262 | ················3.·void·InpMtx_changeStorageMode·(·InpMtx·*inpmtx,·int·newMode·)·;\xd | 262 | ················3.·void·InpMtx_changeStorageMode·(·InpMtx·*inpmtx,·int·newMode·)·;\xd |
263 | ··················If·storageMode·=·newMode,·the·method·returns.·Otherwise,·a·translation·between·the·three·valid\xd | 263 | ··················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-\xd | 264 | ··················modes·is·made·by·calling·InpMtx·sortAndCompress()and·InpMtx·convertToVectors(),as·appropri-\xd |
265 | ··················ate.\xd | 265 | ··················ate.\xd |
266 | ··················Error·checking:·If·inpmtx·is·NULL·or·newMode·is·invalid,·an·error·message·is·printed·and·the·program\xd | 266 | ··················Error·checking:·If·inpmtx·is·NULL·or·newMode·is·invalid,·an·error·message·is·printed·and·the·program\xd |
267 | ··················exits.\xd | 267 | ··················exits.\xd |
268 | ··············8····························InpMtx·:·DRAFT· | 268 | ··············8····························InpMtx·:·DRAFT·February·13,·2025\xd |
269 | ··············1.2.4··Input·methods\xd | 269 | ··············1.2.4··Input·methods\xd |
270 | ················1.·void·InpMtx_inputEntry·(·InpMtx·*inpmtx,·int·row,·int·col·)·;\xd | 270 | ················1.·void·InpMtx_inputEntry·(·InpMtx·*inpmtx,·int·row,·int·col·)·;\xd |
271 | ··················void·InpMtx_inputRealEntry·(·InpMtx·*inpmtx,·int·row,·int·col,·double·value·)·;\xd | 271 | ··················void·InpMtx_inputRealEntry·(·InpMtx·*inpmtx,·int·row,·int·col,·double·value·)·;\xd |
272 | ··················void·InpMtx_inputComplexEntry·(·InpMtx·*inpmtx,·int·row,·int·col,\xd | 272 | ··················void·InpMtx_inputComplexEntry·(·InpMtx·*inpmtx,·int·row,·int·col,\xd |
273 | ················································double·real,·double·imag·)·;\xd | 273 | ················································double·real,·double·imag·)·;\xd |
274 | ··················This·method·places·a·single·entry·into·the·matrix·object.·The·coordinate·type·of·the·object·must·be\xd | 274 | ··················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\xd | 275 | ··················INPMTX·BY·ROWS,·INPMTX·BY·COLUMNS·or·INPMTX·BY·CHEVRONS.·The·triple·is·formed·and·inserted·into\xd |
Offset 307, 15 lines modified | Offset 307, 15 lines modified | ||
307 | ··················Error·checking:·If·inpmtx·is·NULL,·or·chv·or·chvsize·are·negative,·or·chvind·or·chvent·are·NULL,·an\xd | 307 | ··················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.\xd | 308 | ··················error·message·is·printed·and·the·program·exits.\xd |
309 | ················5.·void·InpMtx_inputMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd | 309 | ················5.·void·InpMtx_inputMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd |
310 | ·····················int·rowstride,·int·colstride,·int·rowind[],·int·colind[]·)·;\xd | 310 | ·····················int·rowstride,·int·colstride,·int·rowind[],·int·colind[]·)·;\xd |
311 | ··················void·InpMtx_inputRealMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd | 311 | ··················void·InpMtx_inputRealMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd |
312 | ·····················int·rowstride,·int·colstride,·int·rowind[],·int·colind[],·double·mtxent[]·)·;\xd | 312 | ·····················int·rowstride,·int·colstride,·int·rowind[],·int·colind[],·double·mtxent[]·)·;\xd |
313 | ··················void·InpMtx_inputComplexMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd | 313 | ··················void·InpMtx_inputComplexMatrix·(·InpMtx·*inpmtx,·int·nrow,·int·col,\xd |
314 | ············································ | 314 | ············································InpMtx·:·DRAFT····February·13,·2025························9\xd |
315 | ······················int·rowstride,·int·colstride,·int·rowind[],·int·colind[],·double·mtxent[]·)·;\xd | 315 | ······················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\xd | 316 | ···················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\xd | 317 | ···················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.\xd | 318 | ···················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\xd | 319 | ···················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.\xd | 320 | ···················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,\xd | 321 | ·················6.·void·InpMtx_inputTriples·(·InpMtx·*inpmtx,·int·ntriples,\xd |
Max diff block lines reached; 22743/34120 bytes (66.66%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·LinSol.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·LinSol.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2992, 19 lines modified | Offset 2992, 21 lines modified | ||
2992 | end·readonly·def | 2992 | end·readonly·def |
2993 | /Encoding·256·array | 2993 | /Encoding·256·array |
2994 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2994 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2995 | dup·44·/comma·put | 2995 | dup·44·/comma·put |
2996 | dup·48·/zero·put | 2996 | dup·48·/zero·put |
2997 | dup·49·/one·put | 2997 | dup·49·/one·put |
2998 | dup·50·/two·put | 2998 | dup·50·/two·put |
2999 | dup·51·/three·put | ||
2999 | dup·5 | 3000 | dup·53·/five·put |
3000 | dup·58·/colon·put | 3001 | dup·58·/colon·put |
3001 | dup·7 | 3002 | dup·70·/F·put |
3002 | dup·97·/a·put | 3003 | dup·97·/a·put |
3004 | dup·98·/b·put | ||
3003 | dup·1 | 3005 | dup·101·/e·put |
3004 | dup·114·/r·put | 3006 | dup·114·/r·put |
3005 | dup·117·/u·put | 3007 | dup·117·/u·put |
3006 | dup·121·/y·put | 3008 | dup·121·/y·put |
3007 | readonly·def | 3009 | readonly·def |
3008 | currentdict·end | 3010 | currentdict·end |
3009 | currentfile·eexec | 3011 | currentfile·eexec |
3010 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 3012 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 3188, 83 lines modified | Offset 3190, 94 lines modified | ||
3188 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 3190 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
3189 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 3191 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
3190 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 3192 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
3191 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 3193 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
3192 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 3194 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
3193 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 3195 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
3194 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 3196 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
3195 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 3197 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
3196 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
3197 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
3198 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
3199 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
3200 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
3201 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
3202 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
3203 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
3204 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
3205 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
3206 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
3207 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
3208 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
3209 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
3210 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
3211 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
3212 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
3213 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
3214 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
3215 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
3216 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
3217 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
3218 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
3219 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
3220 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
3221 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
3222 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
3223 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
3224 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
3225 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
3226 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
3227 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
3228 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
3229 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
3230 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
3231 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
3232 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
3233 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
3234 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
3235 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
3236 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
3237 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
3238 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
3239 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
3240 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
3241 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
3242 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
3243 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
3244 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
3245 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
3246 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
3247 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
3248 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
3249 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
3250 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
3251 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
3252 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
3253 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
3254 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
3255 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
3256 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
3257 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
3258 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
3259 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
3260 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
3261 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
3262 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
3263 | 3198 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
3199 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
3200 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
3201 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
3202 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
3203 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
3204 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
3205 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
3206 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
3207 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
3208 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
3209 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
3210 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
3211 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 88686/100231 bytes (88.48%) of diff not shown. |
Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
1 | ············································Wrapper·Objects·for·Solving\xd | 1 | ············································Wrapper·Objects·for·Solving\xd |
2 | ···········································a·Linear·System·of·Equations\xd | 2 | ···········································a·Linear·System·of·Equations\xd |
3 | ·················································using·SPOOLES·2.2\xd | 3 | ·················································using·SPOOLES·2.2\xd |
4 | ··········································Cleve·Ashcraft······················Peter·Schartz\xd | 4 | ··········································Cleve·Ashcraft······················Peter·Schartz\xd |
5 | ·································Boeing·Shared·Services·Group1·············CSARCorporation2\xd | 5 | ·································Boeing·Shared·Services·Group1·············CSARCorporation2\xd |
6 | ······················································· | 6 | ·······················································February·13,·2025\xd |
7 | ··················1P.·O.·Box·24346,·Mail·Stop·7L-21,·Seattle,·Washington·98124.·This·research·was·supported·in·part·by·the\xd | 7 | ··················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\xd | 8 | ················DARPAContract·DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common\xd |
9 | ················HPCSoftware·Support·Initiative.\xd | 9 | ················HPCSoftware·Support·Initiative.\xd |
10 | ··················228035·Dorothy·Drive,·Agoura·Hills,·CA·91301.·This·research·was·supported·in·part·by·the·DARPA·Contract\xd | 10 | ··················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\xd | 11 | ················DABT63-95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software\xd |
12 | ················Support·Initiative.\xd | 12 | ················Support·Initiative.\xd |
13 | ·····························Abstract\xd | 13 | ·····························Abstract\xd |
Offset 51, 15 lines modified | Offset 51, 15 lines modified | ||
51 | ·····························4.3.5···Factor·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······25\xd | 51 | ·····························4.3.5···Factor·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······25\xd |
52 | ·····························4.3.6···Solve·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········26\xd | 52 | ·····························4.3.6···Solve·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········26\xd |
53 | ···················5·The·MPI·Wrapper·Object·and·Driver····················································································27\xd | 53 | ···················5·The·MPI·Wrapper·Object·and·Driver····················································································27\xd |
54 | ·······················5.1···Aquick·look·at·the·MPI·driver·program·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············28\xd | 54 | ·······················5.1···Aquick·look·at·the·MPI·driver·program·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············28\xd |
55 | ·······················5.2···The·BridgeMPI·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···········30\xd | 55 | ·······················5.2···The·BridgeMPI·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···········30\xd |
56 | ·······················5.3···Prototypes·and·descriptions·of·BridgeMPI·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·············32\xd | 56 | ·······················5.3···Prototypes·and·descriptions·of·BridgeMPI·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·············32\xd |
57 | ···············································································1\xd | 57 | ···············································································1\xd |
58 | ················································ | 58 | ················································SPOOLES·2.2·Wrapper·Objects·:··················February·13,·2025····························2\xd |
59 | ·····························5.3.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········32\xd | 59 | ·····························5.3.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········32\xd |
60 | ·····························5.3.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······33\xd | 60 | ·····························5.3.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······33\xd |
61 | ·····························5.3.3···Parameter·methods········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···34\xd | 61 | ·····························5.3.3···Parameter·methods········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···34\xd |
62 | ·····························5.3.4···Setup·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········35\xd | 62 | ·····························5.3.4···Setup·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········35\xd |
63 | ·····························5.3.5···Factor·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······35\xd | 63 | ·····························5.3.5···Factor·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······35\xd |
64 | ·····························5.3.6···Solve·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········36\xd | 64 | ·····························5.3.6···Solve·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········36\xd |
65 | ···················A·testWrapper.c·—·A·Serial·Driver·Program··············································································37\xd | 65 | ···················A·testWrapper.c·—·A·Serial·Driver·Program··············································································37\xd |
Offset 104, 15 lines modified | Offset 104, 15 lines modified | ||
104 | ·················the·user·must·generate·two·SPOOLES·objects·—·a·InpMtx·object·for·A·and·DenseMtx·objects·for·Y·and\xd | 104 | ·················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.\xd | 105 | ·················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\xd | 106 | ····················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.\xd | 107 | ·················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\xd | 108 | ·················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\xd | 109 | ·················data·structures·for·A,·X·and·Y·may·be·distributed,·and·all·working·data·structures·that·contain·the·factor\xd |
110 | ·····································································3\xd | 110 | ·····································································3\xd |
111 | ·································SPOOLES·2.2·Wrapper·Objects·:·· | 111 | ·································SPOOLES·2.2·Wrapper·Objects·:··February·13,·2025·············4\xd |
112 | ·············matrices·and·their·supporting·information·are·distributed.·The·MPI·code·is·much·more·complex·than·the\xd | 112 | ·············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\xd | 113 | ·············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.\xd | 114 | ·············factorization),·but·there·is·a·great·deal·of·support·code·necessary·because·of·the·distributed·data·structures.\xd |
115 | ················ThewrappermethodsdescribedinthispaperdonotexerciseallthefunctionalityoftheMPIenvironment.\xd | 115 | ················ThewrappermethodsdescribedinthispaperdonotexerciseallthefunctionalityoftheMPIenvironment.\xd |
116 | ·············This·is·due·to·the·present·state·of·the·CSAR-Nastran·code·from·CSAR,·where·the·matrix·A·and·right·hand\xd | 116 | ·············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\xd | 117 | ·············side·Y·are·generated·on·one·processor.·We·chose·to·do·all·the·serial·preprocessing\xd |
118 | ················•·generate·a·graph·of·the·matrix,\xd | 118 | ················•·generate·a·graph·of·the·matrix,\xd |
Offset 150, 15 lines modified | Offset 150, 15 lines modified | ||
150 | ·····················•·INPMTX·BY·COLUMNS,·where·r(i,j)·=·j,·c(i,j)·=·i.\xd | 150 | ·····················•·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.\xd | 151 | ·····················•·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\xd | 152 | ·················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\xd | 153 | ·················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\xd | 154 | ·················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.\xd | 155 | ·················matrix·entries·into·the·“fronts”·used·to·factor·the·matrix.\xd |
156 | ·······································································5\xd | 156 | ·······································································5\xd |
157 | ······································SPOOLES·2.2·Wrapper·Objects·:······· | 157 | ······································SPOOLES·2.2·Wrapper·Objects·:·······February·13,·2025··················6\xd |
158 | ··················The·InpMtx·object·can·hold·one·of·three·types·of·entries·as·“indices·only”·(no·entries·are·present),·real\xd | 158 | ··················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.\xd | 159 | ···············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\xd | 160 | ··················•·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.\xd | 161 | ····················values·are·present.·This·mode·is·useful·for·assembling·graphs.\xd |
162 | ··················•·SPOOLES·REAL·where·ai,j·is·a·real·number,·a·double·value.\xd | 162 | ··················•·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.\xd | 163 | ··················•·SPOOLES·COMPLEX·where·a···is·a·complex·number,·really·two·consecutive·double·values.\xd |
164 | ···········································i,j\xd | 164 | ···········································i,j\xd |
Offset 192, 15 lines modified | Offset 192, 15 lines modified | ||
192 | ···············to·assemble·finite·element·matrices.)·The·knowledgeable·user·can·change·the·storage·mode·as·necessary,\xd | 192 | ···············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\xd | 193 | ···············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.\xd | 194 | ···············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,\xd | 195 | ··················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,\xd | 196 | ···············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.\xd | 197 | ···············indices·only,·real·entries,·or·complex·entries.·Here·are·the·prototypes·below.\xd |
198 | ··················•·Input·methods·for·“indices·only”·mode.\xd | 198 | ··················•·Input·methods·for·“indices·only”·mode.\xd |
199 | ··································SPOOLES·2.2·Wrapper·Objects·:···· | 199 | ··································SPOOLES·2.2·Wrapper·Objects·:····February·13,·2025··············7\xd |
200 | ··················void·InpMtx_inputEntry·(·InpMtx·*mtxA,·int·row,·int·col·)·;\xd | 200 | ··················void·InpMtx_inputEntry·(·InpMtx·*mtxA,·int·row,·int·col·)·;\xd |
201 | ··················void·InpMtx_inputRow·(·InpMtx·*mtxA,·int·row,·int·rowsize,·int·rowind[]·)·;\xd | 201 | ··················void·InpMtx_inputRow·(·InpMtx·*mtxA,·int·row,·int·rowsize,·int·rowind[]·)·;\xd |
202 | ··················void·InpMtx_inputColumn·(·InpMtx·*mtxA,·int·col,·int·colsize,·int·colind[]·)·;\xd | 202 | ··················void·InpMtx_inputColumn·(·InpMtx·*mtxA,·int·col,·int·colsize,·int·colind[]·)·;\xd |
203 | ··················void·InpMtx_inputMatrix·(·InpMtx·*mtxA,·int·nrow,·int·ncol,·int·rowstride,\xd | 203 | ··················void·InpMtx_inputMatrix·(·InpMtx·*mtxA,·int·nrow,·int·ncol,·int·rowstride,\xd |
204 | ···········································int·colstride,·int·rowind[],·colind[]·)·;\xd | 204 | ···········································int·colstride,·int·rowind[],·colind[]·)·;\xd |
205 | ················•·Input·methods·for·real·entries.\xd | 205 | ················•·Input·methods·for·real·entries.\xd |
206 | ··················void·InpMtx_inputRealEntry·(·InpMtx·*mtxA,·int·row,·int·col,·double·value·)·;\xd | 206 | ··················void·InpMtx_inputRealEntry·(·InpMtx·*mtxA,·int·row,·int·col,·double·value·)·;\xd |
Offset 238, 15 lines modified | Offset 238, 15 lines modified | ||
238 | ···················if·(·ii·<·n1·)·{\xd | 238 | ···················if·(·ii·<·n1·)·{\xd |
239 | ······················indices[count]·=·ij·+·1·;\xd | 239 | ······················indices[count]·=·ij·+·1·;\xd |
240 | ······················entries[count]·=·-1.0·;\xd | 240 | ······················entries[count]·=·-1.0·;\xd |
241 | ······················count++·;\xd | 241 | ······················count++·;\xd |
242 | ···················}\xd | 242 | ···················}\xd |
243 | ···················if·(·jj·<·n2·)·{\xd | 243 | ···················if·(·jj·<·n2·)·{\xd |
244 | ······················indices[count]·=·ij·+·n1·;\xd | 244 | ······················indices[count]·=·ij·+·n1·;\xd |
245 | ·································SPOOLES·2.2·Wrapper·Objects·:·· | 245 | ·································SPOOLES·2.2·Wrapper·Objects·:··February·13,·2025·············8\xd |
246 | ·····················entries[count]·=·-1.0·;\xd | 246 | ·····················entries[count]·=·-1.0·;\xd |
247 | ·····················count++·;\xd | 247 | ·····················count++·;\xd |
248 | ···················}\xd | 248 | ···················}\xd |
249 | ···················InpMtx_inputRealRow(mtxA,·ij,·count,·indices,·entries)·;\xd | 249 | ···················InpMtx_inputRealRow(mtxA,·ij,·count,·indices,·entries)·;\xd |
250 | ················}\xd | 250 | ················}\xd |
251 | ·············}\xd | 251 | ·············}\xd |
252 | ·············InpMtx_changeStorageMode(mtxA,·INPMTX_BY_VECTORS)·;\xd | 252 | ·············InpMtx_changeStorageMode(mtxA,·INPMTX_BY_VECTORS)·;\xd |
Offset 279, 15 lines modified | Offset 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\xd | 279 | ·············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.)\xd | 280 | ·············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\xd | 281 | ················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.\xd | 282 | ·············indices·and·the·entries.·We·do·this·through·instance·methods.\xd |
283 | ·············void·DenseMtx_rowIndices·(·DenseMtx·*mtx,·int·*pnrow,·int·*prowind·)·;\xd | 283 | ·············void·DenseMtx_rowIndices·(·DenseMtx·*mtx,·int·*pnrow,·int·*prowind·)·;\xd |
284 | ·············void·DenseMtx_columnIndices·(·DenseMtx·*mtx,·int·*pncol,·int·*pcolind·)·;\xd | 284 | ·············void·DenseMtx_columnIndices·(·DenseMtx·*mtx,·int·*pncol,·int·*pcolind·)·;\xd |
285 | ·············double·*·DenseMtx_entries·(·DenseMtx·*mtx·)·;\xd | 285 | ·············double·*·DenseMtx_entries·(·DenseMtx·*mtx·)·;\xd |
286 | ·································SPOOLES·2.2·Wrapper·Objects·:·· | 286 | ·································SPOOLES·2.2·Wrapper·Objects·:··February·13,·2025·············9\xd |
287 | ·············Wewould·use·them·as·follows.\xd | 287 | ·············Wewould·use·them·as·follows.\xd |
288 | ·············double··*entries·;\xd | 288 | ·············double··*entries·;\xd |
289 | ·············int·····ncol,·nrow,·*colind,·*rowind·;\xd | 289 | ·············int·····ncol,·nrow,·*colind,·*rowind·;\xd |
290 | ·············DenseMtx_rowIndices(mtx,·&nrow,·&rowind)·;\xd | 290 | ·············DenseMtx_rowIndices(mtx,·&nrow,·&rowind)·;\xd |
291 | ·············DenseMtx_columnIndices(mtx,·&ncol,·&colind)·;\xd | 291 | ·············DenseMtx_columnIndices(mtx,·&ncol,·&colind)·;\xd |
292 | ·············entries·=·DenseMtx_entries(mtx)·;\xd | 292 | ·············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·=\xd | 293 | ·············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 modified | Offset 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\xd | 317 | ·············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\xd | 318 | ·············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\xd | 319 | ·············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.\xd | 320 | ·············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·)·;\xd | 321 | ················•·int·InpMtx·readFromFile·(·InpMtx·*obj,·char·*filename·)·;\xd |
322 | ················•·int·InpMtx·readFromFormattedFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd | 322 | ················•·int·InpMtx·readFromFormattedFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd |
323 | ················•·int·InpMtx·readFromBinaryFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd | 323 | ················•·int·InpMtx·readFromBinaryFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd |
324 | ······························· | 324 | ·······························SPOOLES2.2·Wrapper·Objects·:··February·13,·2025············10\xd |
325 | ··············· | 325 | ···············•·int·InpMtx·writeToFile·(·InpMtx·*obj,·char·*filename·)·;\xd |
326 | ··············· | 326 | ···············•·int·InpMtx·writeToFormattedFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd |
327 | ··············· | 327 | ···············•·int·InpMtx·writeToBinaryFile·(·InpMtx·*obj,·FILE·*fp·)·;\xd |
328 | ··············· | 328 | ···············•·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\xd | 329 | ·············There·are·corresponding·methods·for·the·DenseMtx·object,·just·replace·“Inp”·by·“Dense”·in·the·above\xd |
330 | ·············prototypes.\xd | 330 | ·············prototypes.\xd |
331 | ··············· | 331 | ···············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\xd | 332 | ·············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\xd | 333 | ·············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. |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·Lock.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·Lock.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1515, 19 lines modified | Offset 1515, 21 lines modified | ||
1515 | end·readonly·def | 1515 | end·readonly·def |
1516 | /Encoding·256·array | 1516 | /Encoding·256·array |
1517 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1517 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1518 | dup·44·/comma·put | 1518 | dup·44·/comma·put |
1519 | dup·48·/zero·put | 1519 | dup·48·/zero·put |
1520 | dup·49·/one·put | 1520 | dup·49·/one·put |
1521 | dup·50·/two·put | 1521 | dup·50·/two·put |
1522 | dup·51·/three·put | ||
1522 | dup·5 | 1523 | dup·53·/five·put |
1523 | dup·58·/colon·put | 1524 | dup·58·/colon·put |
1524 | dup·7 | 1525 | dup·70·/F·put |
1525 | dup·97·/a·put | 1526 | dup·97·/a·put |
1527 | dup·98·/b·put | ||
1526 | dup·1 | 1528 | dup·101·/e·put |
1527 | dup·114·/r·put | 1529 | dup·114·/r·put |
1528 | dup·117·/u·put | 1530 | dup·117·/u·put |
1529 | dup·121·/y·put | 1531 | dup·121·/y·put |
1530 | readonly·def | 1532 | readonly·def |
1531 | currentdict·end | 1533 | currentdict·end |
1532 | currentfile·eexec | 1534 | currentfile·eexec |
1533 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1535 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1711, 83 lines modified | Offset 1713, 94 lines modified | ||
1711 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1713 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1712 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1714 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1713 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1715 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1714 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1716 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1715 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1717 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1716 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1718 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1717 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1719 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1718 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1720 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1719 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1720 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1721 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1722 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1723 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1724 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1725 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1726 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1727 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1728 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1729 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1730 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1731 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1732 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1733 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1734 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1735 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1736 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1737 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1738 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1739 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1740 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1741 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1742 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1743 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1744 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1745 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1746 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1747 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1748 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1749 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1750 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1751 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1752 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1753 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1754 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1755 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1756 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1757 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1758 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1759 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1760 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1761 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1762 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1763 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1764 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1765 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1766 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1767 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1768 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1769 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1770 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1771 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1772 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1773 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1774 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1775 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1776 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1777 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1778 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1779 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1780 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1781 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1782 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1783 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1784 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1785 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1786 | 1721 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1722 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1723 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1724 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1725 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1726 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1727 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1728 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1729 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1730 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1731 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1732 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1733 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1734 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 3760/15303 bytes (24.57%) of diff not shown. |
Offset 19, 15 lines modified | Offset 19, 15 lines modified | ||
19 | ··············•·int·nlocks·:·number·of·locks·made.\xd | 19 | ··············•·int·nlocks·:·number·of·locks·made.\xd |
20 | ··············•·int·nunlocks·:·number·of·unlocks·made.\xd | 20 | ··············•·int·nunlocks·:·number·of·unlocks·made.\xd |
21 | ··············•·the·mutual·exclusion·lock\xd | 21 | ··············•·the·mutual·exclusion·lock\xd |
22 | ···············For·Solaris·threads·we·have·mutex·t·*mutex.\xd | 22 | ···············For·Solaris·threads·we·have·mutex·t·*mutex.\xd |
23 | ···············For·POSIX·threads·we·have·pthread·mutex·t·*mutex.\xd | 23 | ···············For·POSIX·threads·we·have·pthread·mutex·t·*mutex.\xd |
24 | ···············For·no·threads·we·have·void·*mutex.\xd | 24 | ···············For·no·threads·we·have·void·*mutex.\xd |
25 | ·············································1\xd | 25 | ·············································1\xd |
26 | ··············2····························Lock·:·DRAFT· | 26 | ··············2····························Lock·:·DRAFT·February·13,·2025\xd |
27 | ··············1.2···Prototypes·and·descriptions·of·Lock·methods\xd | 27 | ··············1.2···Prototypes·and·descriptions·of·Lock·methods\xd |
28 | ··············1.2.1··Basic·methods\xd | 28 | ··············1.2.1··Basic·methods\xd |
29 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 29 | ··············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.\xd | 30 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
31 | ················1.·Lock·*·Lock_new·(·void·)·;\xd | 31 | ················1.·Lock·*·Lock_new·(·void·)·;\xd |
32 | ··················This·method·simply·allocates·storage·for·the·Lock·structure·and·then·sets·the·default·fields\xd | 32 | ··················This·method·simply·allocates·storage·for·the·Lock·structure·and·then·sets·the·default·fields\xd |
33 | ··················by·a·call·to·Lock·setDefaultFields().\xd | 33 | ··················by·a·call·to·Lock·setDefaultFields().\xd |
Offset 53, 15 lines modified | Offset 53, 15 lines modified | ||
53 | ··················thread·package,·lockflag·!=·0·means·the·lock·will·be·initialized·to·synchronize·only·threads\xd | 53 | ··················thread·package,·lockflag·!=·0·means·the·lock·will·be·initialized·to·synchronize·only·threads\xd |
54 | ··················in·this·process.\xd | 54 | ··················in·this·process.\xd |
55 | ··················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 55 | ··················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
56 | ··············1.2.3··Utility·methods\xd | 56 | ··············1.2.3··Utility·methods\xd |
57 | ················1.·void·Lock_lock·(·Lock·*lock·)·;\xd | 57 | ················1.·void·Lock_lock·(·Lock·*lock·)·;\xd |
58 | ··················This·method·locks·the·lock.\xd | 58 | ··················This·method·locks·the·lock.\xd |
59 | ··················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 59 | ··················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
60 | ······································Lock·:·DRAFT·· | 60 | ······································Lock·:·DRAFT··February·13,·2025···················3\xd |
61 | ··············2.·void·Lock_unlock·(·Lock·*lock·)·;\xd | 61 | ··············2.·void·Lock_unlock·(·Lock·*lock·)·;\xd |
62 | ·················This·method·unlocks·the·lock.\xd | 62 | ·················This·method·unlocks·the·lock.\xd |
63 | ·················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 63 | ·················Error·checking:·If·lock·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
64 | ·······Index\xd | 64 | ·······Index\xd |
65 | ·······Lock·clearData(),·2\xd | 65 | ·······Lock·clearData(),·2\xd |
66 | ·······Lock·free(),·2\xd | 66 | ·······Lock·free(),·2\xd |
67 | ·······Lock·init(),·2\xd | 67 | ·······Lock·init(),·2\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·MPI.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·MPI.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1206, 19 lines modified | Offset 1206, 21 lines modified | ||
1206 | end·readonly·def | 1206 | end·readonly·def |
1207 | /Encoding·256·array | 1207 | /Encoding·256·array |
1208 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1208 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1209 | dup·44·/comma·put | 1209 | dup·44·/comma·put |
1210 | dup·48·/zero·put | 1210 | dup·48·/zero·put |
1211 | dup·49·/one·put | 1211 | dup·49·/one·put |
1212 | dup·50·/two·put | 1212 | dup·50·/two·put |
1213 | dup·51·/three·put | ||
1213 | dup·5 | 1214 | dup·53·/five·put |
1214 | dup·58·/colon·put | 1215 | dup·58·/colon·put |
1215 | dup·7 | 1216 | dup·70·/F·put |
1216 | dup·97·/a·put | 1217 | dup·97·/a·put |
1218 | dup·98·/b·put | ||
1217 | dup·1 | 1219 | dup·101·/e·put |
1218 | dup·114·/r·put | 1220 | dup·114·/r·put |
1219 | dup·117·/u·put | 1221 | dup·117·/u·put |
1220 | dup·121·/y·put | 1222 | dup·121·/y·put |
1221 | readonly·def | 1223 | readonly·def |
1222 | currentdict·end | 1224 | currentdict·end |
1223 | currentfile·eexec | 1225 | currentfile·eexec |
1224 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1226 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1402, 83 lines modified | Offset 1404, 94 lines modified | ||
1402 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1404 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1403 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1405 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1404 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1406 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1405 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1407 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1406 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1408 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1407 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1409 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1408 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1410 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1409 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1411 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1410 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1411 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1412 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1413 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1414 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1415 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1416 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1417 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1418 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1419 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1420 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1421 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1422 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1423 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1424 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1425 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1426 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1427 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1428 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1429 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1430 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1431 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1432 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1433 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1434 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1435 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1436 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1437 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1438 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1439 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1440 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1441 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1442 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1443 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1444 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1445 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1446 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1447 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1448 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1449 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1450 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1451 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1452 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1453 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1454 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1455 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1456 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1457 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1458 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1459 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1460 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1461 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1462 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1463 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1464 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1465 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1466 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1467 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1468 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1469 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1470 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1471 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1472 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1473 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1474 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1475 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1476 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1477 | 1412 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1413 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1414 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1415 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1416 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1417 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1418 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1419 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1420 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1421 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1422 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1423 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1424 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1425 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 43793/55335 bytes (79.14%) of diff not shown. |
Offset 31, 15 lines modified | Offset 31, 15 lines modified | ||
31 | ·················scatter/added·into·Y.\xd | 31 | ·················scatter/added·into·Y.\xd |
32 | ····················TheMatMulInfoobjectstoresallthenecessaryinformationtomakethishappen.·ThereisoneMatMulInfo\xd | 32 | ····················TheMatMulInfoobjectstoresallthenecessaryinformationtomakethishappen.·ThereisoneMatMulInfo\xd |
33 | ·················object·per·processor.·It·has·the·following·fields.\xd | 33 | ·················object·per·processor.·It·has·the·following·fields.\xd |
34 | ····················•·symflag·—·symmetry·flag·for·A\xd | 34 | ····················•·symflag·—·symmetry·flag·for·A\xd |
35 | ·························–·0·(SPOOLES·SYMMETRIC)·–·symmetric·matrix\xd | 35 | ·························–·0·(SPOOLES·SYMMETRIC)·–·symmetric·matrix\xd |
36 | ·························–·1·(SPOOLES·HERMITIAN)·–·hermitian·matrix\xd | 36 | ·························–·1·(SPOOLES·HERMITIAN)·–·hermitian·matrix\xd |
37 | ·····································································1\xd | 37 | ·····································································1\xd |
38 | ·················2······································MPI·:·DRAFT· | 38 | ·················2······································MPI·:·DRAFT·February·13,·2025\xd |
39 | ·························–·2·(SPOOLES·NONSYMMETRIC)·–·nonsymmetric·matrix\xd | 39 | ·························–·2·(SPOOLES·NONSYMMETRIC)·–·nonsymmetric·matrix\xd |
40 | ····················•·opflag·—·operation·flag·for·the·multiply\xd | 40 | ····················•·opflag·—·operation·flag·for·the·multiply\xd |
41 | ·························–·0·(MMM·WITH·A)·—·perform·Y·:=·Y·+αAX\xd | 41 | ·························–·0·(MMM·WITH·A)·—·perform·Y·:=·Y·+αAX\xd |
42 | ·························–·1·(MMM·WITH·AT)·—·perform·Y·:=·Y·+αATX\xd | 42 | ·························–·1·(MMM·WITH·AT)·—·perform·Y·:=·Y·+αATX\xd |
43 | ·························–·2·(MMM·WITH·AH)·—·perform·Y·:=·Y·+αAHX\xd | 43 | ·························–·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.\xd | 44 | ····················•·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\xd | 45 | ····················•·IV·*XsupIV·—·list·of·rows·of·X·that·are·accessed·by·this·processor,·these·form·the·rows·of·Xq\xd |
Offset 73, 15 lines modified | Offset 73, 15 lines modified | ||
73 | ·················In·a·distributed·environment,·data·must·be·distributed,·and·sometimes·during·a·computation,·data·must·be\xd | 73 | ·················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.\xd | 74 | ·················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,\xd | 75 | ····················1.·void·DenseMtx_MPI_splitByRows·(·DenseMtx·*mtx,·IV·*mapIV,·int·stats[],·int·msglvl,\xd |
76 | ·····························································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd | 76 | ·····························································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\xd | 77 | ·······················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\xd | 78 | ·······················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.\xd | 79 | ·······················firsttag.·On·return,·the·stats[]·vector·contains·the·following·information.\xd |
80 | ············································MPI·:·DRAFT·· | 80 | ············································MPI·:·DRAFT··February·13,·2025························3\xd |
81 | ··························stats[0]·—·#ofmessagessent··········stats[1]··—·#ofbytessent\xd | 81 | ··························stats[0]·—·#ofmessagessent··········stats[1]··—·#ofbytessent\xd |
82 | ··························stats[2]·—·#ofmessagesreceived······stats[3]··—·#ofbytesreceived\xd | 82 | ··························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\xd | 83 | ··················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.\xd | 84 | ··················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·<\xd | 85 | ··················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\xd | 86 | ··················0·or·firsttag·+·nproc·is·larger·than·the·largest·available·tag,·an·error·message·is·printed·and·the\xd |
87 | ··················program·exits.\xd | 87 | ··················program·exits.\xd |
Offset 117, 15 lines modified | Offset 117, 15 lines modified | ||
117 | ··················use·the·chevron·coordinate·type·to·store·the·matrix·entries.·This·method·will·redistribute·a·matrix\xd | 117 | ··················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\xd | 118 | ··················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.\xd | 119 | ··················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\xd | 120 | ··················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.\xd | 121 | ··················first·is·the·parameter·firsttag.·On·return,·the·stats[]·vector·contains·the·following·information.\xd |
122 | ··························stats[0]·—·#ofmessagessent··········stats[1]··—·#ofbytessent\xd | 122 | ··························stats[0]·—·#ofmessagessent··········stats[1]··—·#ofbytessent\xd |
123 | ··························stats[2]·—·#ofmessagesreceived······stats[3]··—·#ofbytesreceived\xd | 123 | ··························stats[2]·—·#ofmessagesreceived······stats[3]··—·#ofbytesreceived\xd |
124 | ··············4······························· | 124 | ··············4·······························MPI·:·DRAFT·February·13,·2025\xd |
125 | ···················Note,·the·values·in·stats[]·are·incremented,·i.e.,·the·stats[]·vector·is·not·zeroed·at·the·start·of·the\xd | 125 | ···················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.\xd | 126 | ···················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\xd | 127 | ···················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.\xd | 128 | ···················error·message·is·printed·and·the·program·exits.\xd |
129 | ················5.·InpMtx·*·InpMtx_MPI_splitFromGlobal·(·InpMtx·*Aglobal,·InpMtx·*Alocal,\xd | 129 | ················5.·InpMtx·*·InpMtx_MPI_splitFromGlobal·(·InpMtx·*Aglobal,·InpMtx·*Alocal,\xd |
130 | ·························································IV·*mapIV,·int·root,·int·stats[],·int·msglvl,\xd | 130 | ·························································IV·*mapIV,·int·root,·int·stats[],·int·msglvl,\xd |
131 | ·························································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd | 131 | ·························································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd |
Offset 158, 15 lines modified | Offset 158, 15 lines modified | ||
158 | ···················knownpriortoenteringthis·method.·Onreturn,·the·stats[]vectorcontainsthe·followinginformation.\xd | 158 | ···················knownpriortoenteringthis·method.·Onreturn,·the·stats[]vectorcontainsthe·followinginformation.\xd |
159 | ···························stats[0]··—·#ofmessagessent···········stats[1]··—·#ofbytessent\xd | 159 | ···························stats[0]··—·#ofmessagessent···········stats[1]··—·#ofbytessent\xd |
160 | ···························stats[2]··—·#ofmessagesreceived·······stats[3]··—·#ofbytesreceived\xd | 160 | ···························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\xd | 161 | ···················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.\xd | 162 | ···················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·<\xd | 163 | ···················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.\xd | 164 | ···················0·is·larger·than·the·largest·available·tag,·an·error·message·is·printed·and·the·program·exits.\xd |
165 | ······················································· | 165 | ·······················································MPI·:·DRAFT······February·13,·2025···································5\xd |
166 | ·················1.2.2·····Gather·and·scatter·methods\xd | 166 | ·················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\xd | 167 | ·················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(),\xd | 168 | ·················distributed·matrix-matrixmultiply.·ThegatheroperationXq·········←XisperformedbyDenseMtx·MPI·gatherRows(),\xd |
169 | ······························································P·············supp\xd | 169 | ······························································P·············supp\xd |
170 | ·················while·the·scatter/add·operation·Y·q·:=·Y·q·+·····Yr····is·performed·by·DenseMtx·MPI·scatterAddRows().\xd | 170 | ·················while·the·scatter/add·operation·Y·q·:=·Y·q·+·····Yr····is·performed·by·DenseMtx·MPI·scatterAddRows().\xd |
171 | ································································r··supp\xd | 171 | ································································r··supp\xd |
172 | ····················1.·void·DenseMtx_MPI_gatherRows·(·DenseMtx·*Y,·DenseMtx·*X,·IVL·*sendIVL,\xd | 172 | ····················1.·void·DenseMtx_MPI_gatherRows·(·DenseMtx·*Y,·DenseMtx·*X,·IVL·*sendIVL,\xd |
Offset 202, 15 lines modified | Offset 202, 15 lines modified | ||
202 | ·················1.2.3·····Symbolic·Factorization·methods\xd | 202 | ·················1.2.3·····Symbolic·Factorization·methods\xd |
203 | ····················1.·IVL·*·SymbFac_MPI_initFromInpMtx·(·ETree·*etree,·IV·*frontOwnersIV,\xd | 203 | ····················1.·IVL·*·SymbFac_MPI_initFromInpMtx·(·ETree·*etree,·IV·*frontOwnersIV,\xd |
204 | ·································································InpMtx·*inpmtx,·int·stats[],·int·msglvl,\xd | 204 | ·································································InpMtx·*inpmtx,·int·stats[],·int·msglvl,\xd |
205 | ·································································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd | 205 | ·································································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd |
206 | ·······················IVL·*·SymbFac_MPI_initFromPencil·(·ETree·*etree,·IV·*frontOwnersIV,\xd | 206 | ·······················IVL·*·SymbFac_MPI_initFromPencil·(·ETree·*etree,·IV·*frontOwnersIV,\xd |
207 | ·································································Pencil·*pencil,·int·stats[],·int·msglvl,\xd | 207 | ·································································Pencil·*pencil,·int·stats[],·int·msglvl,\xd |
208 | ·································································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd | 208 | ·································································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd |
209 | ················6···································· | 209 | ················6····································MPI·:·DRAFT·February·13,·2025\xd |
210 | ······················ThesemethodsareusedinplaceoftheSymbfac·initFrom{InpMtx,Pencil}()methodstocomputethe\xd | 210 | ······················ThesemethodsareusedinplaceoftheSymbfac·initFrom{InpMtx,Pencil}()methodstocomputethe\xd |
211 | ······················symbolic·factorization.·The·ETree·object·is·assumed·to·be·replicated·over·the·processes.·The·InpMtx\xd | 211 | ······················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\xd | 212 | ······················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\xd | 213 | ······················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\xd | 214 | ······················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,\xd | 215 | ······················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.\xd | 216 | ······················usually·not·much·more·than·what·it·needs·to·know·for·its·part·of·the·factorization·and·solves.\xd |
Offset 247, 15 lines modified | Offset 247, 15 lines modified | ||
247 | ·····························cpus[0]···–···initialize·fronts···········cpus[7]····–···extract·postponed·data\xd | 247 | ·····························cpus[0]···–···initialize·fronts···········cpus[7]····–···extract·postponed·data\xd |
248 | ·····························cpus[1]···–···load·original·entries·······cpus[8]····–···store·factor·entries\xd | 248 | ·····························cpus[1]···–···load·original·entries·······cpus[8]····–···store·factor·entries\xd |
249 | ·····························cpus[2]···–···update·fronts···············cpus[9]····–···post·initial·receives\xd | 249 | ·····························cpus[2]···–···update·fronts···············cpus[9]····–···post·initial·receives\xd |
250 | ·····························cpus[3]···–···insert·aggregate·data······cpus[10]····–···check·for·received·messages\xd | 250 | ·····························cpus[3]···–···insert·aggregate·data······cpus[10]····–···check·for·received·messages\xd |
251 | ·····························cpus[4]···–···assemble·aggregate·data····cpus[11]····–···post·initial·sends\xd | 251 | ·····························cpus[4]···–···assemble·aggregate·data····cpus[11]····–···post·initial·sends\xd |
252 | ·····························cpus[5]···–···assemble·postponed·data····cpus[12]····–···check·for·sent·messages\xd | 252 | ·····························cpus[5]···–···assemble·postponed·data····cpus[12]····–···check·for·sent·messages\xd |
253 | ·····························cpus[6]···–···factor·fronts\xd | 253 | ·····························cpus[6]···–···factor·fronts\xd |
254 | ············································MPI·:·DRAFT·· | 254 | ············································MPI·:·DRAFT··February·13,·2025························7\xd |
255 | ··················Onreturn,·the·stats[]·vector·has·the·following·information.\xd | 255 | ··················Onreturn,·the·stats[]·vector·has·the·following·information.\xd |
256 | ···································stats[0]··—·#ofpivots\xd | 256 | ···································stats[0]··—·#ofpivots\xd |
257 | ···································stats[1]··—·#ofpivot·tests\xd | 257 | ···································stats[1]··—·#ofpivot·tests\xd |
258 | ···································stats[2]··—·#ofdelayed·rows·and·columns\xd | 258 | ···································stats[2]··—·#ofdelayed·rows·and·columns\xd |
259 | ···································stats[3]··—·#ofentries·in·D\xd | 259 | ···································stats[3]··—·#ofentries·in·D\xd |
260 | ···································stats[4]··—·#ofentries·in·L\xd | 260 | ···································stats[4]··—·#ofentries·in·L\xd |
261 | ···································stats[5]··—·#ofentries·in·U\xd | 261 | ···································stats[5]··—·#ofentries·in·U\xd |
Offset 293, 15 lines modified | Offset 293, 15 lines modified | ||
293 | ··················Error·checking:·If·frontmtx,·frontOwnersIV·or·stats·is·NULL,·or·if·firsttag·<·0·or·firsttag·+\xd | 293 | ··················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\xd | 294 | ··················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.\xd | 295 | ··················is·printed·and·the·program·exits.\xd |
296 | ················3.·void·IV_MPI_allgather·(·IV·*iv,·IV·*ownersIV,·int·stats[],·int·msglvl,\xd | 296 | ················3.·void·IV_MPI_allgather·(·IV·*iv,·IV·*ownersIV,·int·stats[],·int·msglvl,\xd |
297 | ·········································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd | 297 | ·········································FILE·*msgFile,·int·firsttag,·MPI_Comm·comm·)·;\xd |
298 | ··················After·a·factorization·with·pivoting,·the·frontsizesIVobject·needs·to·be·made·globalon·eachprocessor.\xd | 298 | ··················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\xd | 299 | ··················This·methods·takes·the·individual·entries·of·an·IV·object·whose·owners·are·specified·by·the·ownersIV\xd |
300 | ···············8··································MPI·:·DRAFT· | 300 | ···············8··································MPI·:·DRAFT·February·13,·2025\xd |
301 | ····················object,·and·communicates·the·entries·around·the·processors·until·the·global·IV·object·is·present·on\xd | 301 | ····················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\xd | 302 | ····················each.·The·messagesthat·will·be·sent·require·at·most·nprocconsecutive·tags·—·the·first·is·the·parameter\xd |
303 | ····················firsttag.\xd | 303 | ····················firsttag.\xd |
304 | ····················Error·checking:·If·iv,·ownersIV·or·stats·is·NULL,·or·if·firsttag·<·0·or·firsttag·+·nproc,·is·larger\xd | 304 | ····················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\xd | 305 | ····················than·the·largest·available·tag,·or·if·msglvl·>·0·and·msgFile·is·NULL,·an·error·message·is·printed·and\xd |
306 | ····················the·program·exits.\xd | 306 | ····················the·program·exits.\xd |
307 | ··················4.·void·IVL_MPI_allgather·(·IVL·*ivl,·IV·*ownersIV,·int·stats[],·int·msglvl,\xd | 307 | ··················4.·void·IVL_MPI_allgather·(·IVL·*ivl,·IV·*ownersIV,·int·stats[],·int·msglvl,\xd |
Offset 334, 15 lines modified | Offset 334, 15 lines modified | ||
334 | ···········································stats[4]···—·#ofsolution·messages·received\xd | 334 | ···········································stats[4]···—·#ofsolution·messages·received\xd |
335 | ···········································stats[5]···—·#ofaggregatemessages·received\xd | 335 | ···········································stats[5]···—·#ofaggregatemessages·received\xd |
336 | ···········································stats[6]···—·#ofsolution·bytes·received\xd | 336 | ···········································stats[6]···—·#ofsolution·bytes·received\xd |
337 | ···········································stats[7]···—·#ofaggregatebytes·received\xd | 337 | ···········································stats[7]···—·#ofaggregatebytes·received\xd |
338 | ····················Error·checking:·If·frontmtx,·mtxX,mtxB,·mtxmanager,solvemap,cpusorstatsisNULL,oriffirsttag\xd | 338 | ····················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\xd | 339 | ····················<·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.\xd | 340 | ····················is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
341 | ············································MPI·:·DRAFT·· | 341 | ············································MPI·:·DRAFT··February·13,·2025························9\xd |
342 | ··············1.2.7··Matrix-matrix·multiply·methods\xd | 342 | ··············1.2.7··Matrix-matrix·multiply·methods\xd |
343 | ··············The·usual·sequence·of·events·is·as·follows.\xd | 343 | ··············The·usual·sequence·of·events·is·as·follows.\xd |
344 | ················•·Set·up·the·data·structure·via·a·call·to·MatMul·MPI·setup().\xd | 344 | ················•·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().\xd | 345 | ················•·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\xd | 346 | ················•·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\xd | 347 | ··················methods·DenseMtx·MPI·gatherRows()and·DenseMtx·MPI·scatterAddRows()are·called,·along·with·a\xd |
348 | ··················serial·InpMtx·matrix-matrix·multiply·method.\xd | 348 | ··················serial·InpMtx·matrix-matrix·multiply·method.\xd |
Max diff block lines reached; 16647/29204 bytes (57.00%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·MSMD.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·MSMD.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1229, 19 lines modified | Offset 1229, 21 lines modified | ||
1229 | end·readonly·def | 1229 | end·readonly·def |
1230 | /Encoding·256·array | 1230 | /Encoding·256·array |
1231 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1231 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1232 | dup·44·/comma·put | 1232 | dup·44·/comma·put |
1233 | dup·48·/zero·put | 1233 | dup·48·/zero·put |
1234 | dup·49·/one·put | 1234 | dup·49·/one·put |
1235 | dup·50·/two·put | 1235 | dup·50·/two·put |
1236 | dup·51·/three·put | ||
1236 | dup·5 | 1237 | dup·53·/five·put |
1237 | dup·58·/colon·put | 1238 | dup·58·/colon·put |
1238 | dup·7 | 1239 | dup·70·/F·put |
1239 | dup·97·/a·put | 1240 | dup·97·/a·put |
1241 | dup·98·/b·put | ||
1240 | dup·1 | 1242 | dup·101·/e·put |
1241 | dup·114·/r·put | 1243 | dup·114·/r·put |
1242 | dup·117·/u·put | 1244 | dup·117·/u·put |
1243 | dup·121·/y·put | 1245 | dup·121·/y·put |
1244 | readonly·def | 1246 | readonly·def |
1245 | currentdict·end | 1247 | currentdict·end |
1246 | currentfile·eexec | 1248 | currentfile·eexec |
1247 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1249 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1425, 83 lines modified | Offset 1427, 94 lines modified | ||
1425 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1427 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1426 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1428 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1427 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1429 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1428 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1430 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1429 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1431 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1430 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1432 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1431 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1433 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1432 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1434 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1433 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1434 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1435 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1436 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1437 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1438 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1439 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1440 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1441 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1442 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1443 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1444 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1445 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1446 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1447 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1448 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1449 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1450 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1451 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1452 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1453 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1454 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1455 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1456 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1457 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1458 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1459 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1460 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1461 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1462 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1463 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1464 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1465 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1466 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1467 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1468 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1469 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1470 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1471 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1472 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1473 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1474 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1475 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1476 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1477 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1478 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1479 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1480 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1481 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1482 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1483 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1484 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1485 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1486 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1487 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1488 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1489 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1490 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1491 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1492 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1493 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1494 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1495 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1496 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1497 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1498 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1499 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1500 | 1435 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1436 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1437 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1438 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1439 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1440 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1441 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1442 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1443 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1444 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1445 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1446 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1447 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1448 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 27176/38719 bytes (70.19%) of diff not shown. |
Offset 21, 15 lines modified | Offset 21, 15 lines modified | ||
21 | ····················•·approximate·external·degree,·(d·from·[?])·and·[?],·or\xd | 21 | ····················•·approximate·external·degree,·(d·from·[?])·and·[?],·or\xd |
22 | ······························································˜\xd | 22 | ······························································˜\xd |
23 | ····················•·half·external·and·half·approximate,·(d·from·[?]),·or\xd | 23 | ····················•·half·external·and·half·approximate,·(d·from·[?]),·or\xd |
24 | ····················•·a·constant·priority·(to·induce·maximal·independent·set·elimination).\xd | 24 | ····················•·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\xd | 25 | ···················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.\xd | 26 | ················size·of·each·front,·and·has·a·map·from·the·vertices·to·the·fronts.\xd |
27 | ···································································1\xd | 27 | ···································································1\xd |
28 | ···········2·······················MSMD·:·DRAFT· | 28 | ···········2·······················MSMD·:·DRAFT·February·13,·2025\xd |
29 | ···········We·intend·to·add·more·priorities,·e.g.,·approximate·deficiency·from·[?],·[?]·and·[?].\xd | 29 | ···········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\xd | 30 | ··············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\xd | 31 | ···········vertices·to·eliminate·at·a·time.·Then·provide·a·map·from·each·vertex·to·the·stage·at·which·it·will\xd |
32 | ···········be·eliminated.\xd | 32 | ···········be·eliminated.\xd |
33 | ··············Presently·there·is·one·ordering·method,·MSMD·order().·It·orders·the·vertices·by·stages,·i.e.\xd | 33 | ··············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\xd | 34 | ···········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\xd | 35 | ···········ordered·by·steps.·At·each·step·an·independent·set·of·vertices·is·eliminated,·and·the·choice·is·based\xd |
Offset 57, 15 lines modified | Offset 57, 15 lines modified | ||
57 | ···········The·tools·are·largely·written·so·any·of·these·three·algorithms·can·be·prototyped·in·a·small·amount\xd | 57 | ···········The·tools·are·largely·written·so·any·of·these·three·algorithms·can·be·prototyped·in·a·small·amount\xd |
58 | ···········of·time·and·effort.\xd | 58 | ···········of·time·and·effort.\xd |
59 | ···········1.1··Data·Structure\xd | 59 | ···········1.1··Data·Structure\xd |
60 | ···········There·are·four·typed·objects.\xd | 60 | ···········There·are·four·typed·objects.\xd |
61 | ·············•·MSMD·:·the·main·object.\xd | 61 | ·············•·MSMD·:·the·main·object.\xd |
62 | ·············•·MSMDinfo·:·an·object·that·communicate·parameter·choices·from·the·caller·to·the·MSMD·object\xd | 62 | ·············•·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.\xd | 63 | ···············and·information·and·statistics·from·the·MSMD·object·to·the·caller.\xd |
64 | ······································ | 64 | ······································MSMD·:·DRAFT···February·13,·2025···················3\xd |
65 | ···············•·MSMDstageInfo·:·an·object·that·contains·statistics·for·a·stage·of·elimination,·e.g.,·number·of\xd | 65 | ···············•·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.\xd | 66 | ·················steps,·number·of·vertices·eliminated,·weight·of·vertices·eliminated,·etc.\xd |
67 | ···············•·MSMDvtx·:·an·object·that·models·a·vertex.\xd | 67 | ···············•·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.\xd | 68 | ············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\xd | 69 | ············1.1.1··MSMDinfo·:·define·your·algorithm\xd |
70 | ···············•·int·compressFlag·–·define·initial·and·subsequent·compressions·of·the·graph.\xd | 70 | ···············•·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\xd | 71 | ·················Wecompress·a·graph·using·a·checksum·technique.·At·some·point·in·the·elimination,·vertices\xd |
Offset 93, 15 lines modified | Offset 93, 15 lines modified | ||
93 | ···············•·double·stepType·—·define·the·elimination·steps.\xd | 93 | ···············•·double·stepType·—·define·the·elimination·steps.\xd |
94 | ···················–·stepType·==·0·—·only·one·vertex·of·minimum·priority·is·eliminated·at·each·step,·e.g.,\xd | 94 | ···················–·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·[?].\xd | 95 | ·····················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\xd | 96 | ···················–·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.\xd | 97 | ·····················each·step,·e.g.,·as·used·in·GENMMD,·multiple·minimum·degree.\xd |
98 | ···················–·stepType·>·1—anindependentsetofvertices·iseliminated·whoseprioritieslie·between\xd | 98 | ···················–·stepType·>·1—anindependentsetofvertices·iseliminated·whoseprioritieslie·between\xd |
99 | ·····················the·minimum·priority·and·the·minimum·priority·multiplied·by·stepType.\xd | 99 | ·····················the·minimum·priority·and·the·minimum·priority·multiplied·by·stepType.\xd |
100 | ··············4····························MSMD·:·DRAFT· | 100 | ··············4····························MSMD·:·DRAFT·February·13,·2025\xd |
101 | ···················The·default·value·is·1,·multiple·elimination·of·vertices·with·minimum·priority.\xd | 101 | ···················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\xd | 102 | ·················•·int·seed·—·a·seed·used·for·a·random·number·generator,·this·introduces·a·necessary·random\xd |
103 | ···················element·to·the·ordering.\xd | 103 | ···················element·to·the·ordering.\xd |
104 | ·················•·int·msglvl·–·message·level·for·statistics,·diagnostics·and·monitoring.·The·default·value·is\xd | 104 | ·················•·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\xd | 105 | ···················zero,·no·statistics.·Set·msglvl·to·one·and·get·elimination·monitoring.·Increase·msglvl·slowly\xd |
106 | ···················to·get·more·mostly·debug·information.\xd | 106 | ···················to·get·more·mostly·debug·information.\xd |
107 | ·················•·FILE·*msgFile·–·message·file,·default·is·stdout.\xd | 107 | ·················•·FILE·*msgFile·–·message·file,·default·is·stdout.\xd |
Offset 119, 15 lines modified | Offset 119, 15 lines modified | ||
119 | ·················•·IIheap·*heap·–·pointer·to·a·IIheap·object·that·maintains·the·priority·queue.\xd | 119 | ·················•·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\xd | 120 | ·················•·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\xd | 121 | ·················•·IP·*freeIP·–·pointer·to·the·list·of·free·IP·objects\xd |
122 | ·················•·int·incrIP·–·integer·that·holds·the·increment·factor·for·the·IP·objects.\xd | 122 | ·················•·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.\xd | 123 | ·················•·MSMDvtx·*vertices·–·pointer·to·vector·of·MSMDvtx·objects·that·represent·the·vertices.\xd |
124 | ·················•·IV·ivtmpIV·–·IV·object·that·holds·an·integer·temporary·vector.\xd | 124 | ·················•·IV·ivtmpIV·–·IV·object·that·holds·an·integer·temporary·vector.\xd |
125 | ·················•·IV·reachIV·–·IV·object·that·holds·the·reach·vector.\xd | 125 | ·················•·IV·reachIV·–·IV·object·that·holds·the·reach·vector.\xd |
126 | ······································ | 126 | ······································MSMD·:·DRAFT···February·13,·2025···················5\xd |
127 | ············1.1.3··MSMDstageInfo·:·statistics·object·for·a·stage·of·the·elimination\xd | 127 | ············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.\xd | 128 | ············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\xd | 129 | ···············•·int·nstep·—·number·of·elimination·steps·in·this·stage\xd |
130 | ···············•·int·nfront·—·number·of·fronts·created·at·this·stage\xd | 130 | ···············•·int·nfront·—·number·of·fronts·created·at·this·stage\xd |
131 | ···············•·int·welim·—·weight·of·the·vertices·eliminated·at·this·stage\xd | 131 | ···············•·int·welim·—·weight·of·the·vertices·eliminated·at·this·stage\xd |
132 | ···············•·int·nfind·—·number·of·front·indices\xd | 132 | ···············•·int·nfind·—·number·of·front·indices\xd |
133 | ···············•·int·nzf·—·number·of·factor·entries·(for·a·Cholesky·factorization)\xd | 133 | ···············•·int·nzf·—·number·of·factor·entries·(for·a·Cholesky·factorization)\xd |
Offset 148, 15 lines modified | Offset 148, 15 lines modified | ||
148 | ···················–·’L’·–·eliminated·leaf·vertex\xd | 148 | ···················–·’L’·–·eliminated·leaf·vertex\xd |
149 | ···················–·’E’·–·eliminated·interior·vertex\xd | 149 | ···················–·’E’·–·eliminated·interior·vertex\xd |
150 | ···················–·’O’·–·outmatched·vertex\xd | 150 | ···················–·’O’·–·outmatched·vertex\xd |
151 | ···················–·’D’·–·vertex·on·degree·(priority)·heap\xd | 151 | ···················–·’D’·–·vertex·on·degree·(priority)·heap\xd |
152 | ···················–·’R’·–·vertex·on·reach·set\xd | 152 | ···················–·’R’·–·vertex·on·reach·set\xd |
153 | ···················–·’I’·–·vertex·found·to·be·indistinguishable·to·another\xd | 153 | ···················–·’I’·–·vertex·found·to·be·indistinguishable·to·another\xd |
154 | ···················–·’B’·–·boundary·vertex,·to·be·eliminated·in·another·stage\xd | 154 | ···················–·’B’·–·boundary·vertex,·to·be·eliminated·in·another·stage\xd |
155 | ··············6····························MSMD·:·DRAFT· | 155 | ··············6····························MSMD·:·DRAFT·February·13,·2025\xd |
156 | ·················•·int·stage·—·stage·of·the·vertex.·Stage·0·nodes·are·eliminated·before·stage·1·nodes,·etc.\xd | 156 | ·················•·int·stage·—·stage·of·the·vertex.·Stage·0·nodes·are·eliminated·before·stage·1·nodes,·etc.\xd |
157 | ·················•·int·wght·—·weight·of·the·vertex\xd | 157 | ·················•·int·wght·—·weight·of·the·vertex\xd |
158 | ·················•·int·nadj·—·size·of·the·adj·vector\xd | 158 | ·················•·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\xd | 159 | ·················•·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\xd | 160 | ···················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).\xd | 161 | ···················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.\xd | 162 | ·················•·int·bndwght·—·for·an·eliminated·vertex,·the·weight·of·the·vertices·on·its·boundary.\xd |
Offset 181, 15 lines modified | Offset 181, 15 lines modified | ||
181 | ···················This·method·clears·any·data·owned·by·the·object·and·then·sets·the·structure’s·default·fields\xd | 181 | ···················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().\xd | 182 | ···················with·a·call·to·MSMDinfo·setDefaultFields().\xd |
183 | ···················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 183 | ···················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
184 | ················4.·void·MSMDinfo_free·(·MSMDinfo·*info·)·;\xd | 184 | ················4.·void·MSMDinfo_free·(·MSMDinfo·*info·)·;\xd |
185 | ···················This·method·releases·any·storage·by·a·call·to·MSMDinfo·clearData()·then·free’s·the·storage\xd | 185 | ···················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().\xd | 186 | ···················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.\xd | 187 | ···················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
188 | ······································ | 188 | ······································MSMD·:·DRAFT···February·13,·2025···················7\xd |
189 | ············1.2.2··Utility·methods\xd | 189 | ············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.\xd | 190 | ············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·)·;\xd | 191 | ···············1.·void·MSMDinfo_print·(·MSMDinfo·*info,·FILE·*fp·)·;\xd |
192 | ·················This·method·prints·out·the·information·to·a·file.\xd | 192 | ·················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.\xd | 193 | ·················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·)·;\xd | 194 | ···············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\xd | 195 | ·················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 modified | Offset 213, 15 lines modified | ||
213 | ·················This·method·clears·any·data·owned·by·the·object,·then·sets·the·structure’s·default·fields·with\xd | 213 | ·················This·method·clears·any·data·owned·by·the·object,·then·sets·the·structure’s·default·fields·with\xd |
214 | ·················a·call·to·MSMD·setDefaultFields().\xd | 214 | ·················a·call·to·MSMD·setDefaultFields().\xd |
215 | ·················Error·checking:·If·msmd·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 215 | ·················Error·checking:·If·msmd·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
216 | ···············4.·void·MSMD_free·(·MSMD·*msmd·)·;\xd | 216 | ···············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\xd | 217 | ·················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().\xd | 218 | ·················the·structure·with·a·call·to·free().\xd |
219 | ·················Error·checking:·If·msmd·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 219 | ·················Error·checking:·If·msmd·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
220 | ···············8································MSMD·:·DRAFT· | 220 | ···············8································MSMD·:·DRAFT·February·13,·2025\xd |
221 | ···············1.3.2···Initialization·methods·—·public\xd | 221 | ···············1.3.2···Initialization·methods·—·public\xd |
222 | ···············There·is·one·initialization·method.\xd | 222 | ···············There·is·one·initialization·method.\xd |
223 | ··················1.·void·MSMD_init·(·MSMD·*msmd,·Graph·*graph,·int·stages[],·MSMD·*info·)·;\xd | 223 | ··················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()\xd | 224 | ·····················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\xd | 225 | ·····················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\xd | 226 | ·····················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\xd | 227 | ·····················are·two·input·arguments:·graph·is·a·pointer·to·a·Graph·object·that·holds·the·adjacency·lists\xd |
Offset 249, 15 lines modified | Offset 249, 15 lines modified | ||
249 | ···············1.3.4···Extraction·methods·—·public\xd | 249 | ···············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\xd | 250 | ···············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\xd | 251 | ···············permutation·vector(s).··The·second·returns·an·ETree·object·that·holds·the·front·tree·for·the\xd |
252 | ···············ordering.\xd | 252 | ···············ordering.\xd |
253 | ··················1.·void·MSMD_fillPerms·(·MSMD·*msmd,·IV·*newToOldIV,·IV·*oldToNewIV·)·;\xd | 253 | ··················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\xd | 254 | ·····················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\xd | 255 | ·····················of·the·vertices,·resizing·the·IV·object·if·necessary.·If·oldToNewIV·is·not·NULL,·this·method\xd |
256 | ······································ | 256 | ······································MSMD·:·DRAFT···February·13,·2025···················9\xd |
257 | ·················fills·the·IV·object·with·the·old-to-new·permutation·of·the·vertices,·resizing·the·IV·object·if\xd | 257 | ·················fills·the·IV·object·with·the·old-to-new·permutation·of·the·vertices,·resizing·the·IV·object·if\xd |
258 | ·················necessary.\xd | 258 | ·················necessary.\xd |
259 | ·················Error·checking:·If·msmd·is·NULL,·or·if·newToOldIV·and·oldToNewIV·is·NULL,·an·error·message\xd | 259 | ·················Error·checking:·If·msmd·is·NULL,·or·if·newToOldIV·and·oldToNewIV·is·NULL,·an·error·message\xd |
260 | ·················is·printed·and·the·program·exits.\xd | 260 | ·················is·printed·and·the·program·exits.\xd |
261 | ···············2.·ETree·*·MSMD_frontETree·(·MSMD·*msmd·)·;\xd | 261 | ···············2.·ETree·*·MSMD_frontETree·(·MSMD·*msmd·)·;\xd |
262 | ·················This·method·constructs·and·returns·a·ETree·object·that·contains·the·front·tree·for·the\xd | 262 | ·················This·method·constructs·and·returns·a·ETree·object·that·contains·the·front·tree·for·the\xd |
263 | ·················ordering.\xd | 263 | ·················ordering.\xd |
Max diff block lines reached; 4057/15062 bytes (26.94%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·MT.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·MT.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1601, 19 lines modified | Offset 1601, 21 lines modified | ||
1601 | end·readonly·def | 1601 | end·readonly·def |
1602 | /Encoding·256·array | 1602 | /Encoding·256·array |
1603 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1603 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1604 | dup·44·/comma·put | 1604 | dup·44·/comma·put |
1605 | dup·48·/zero·put | 1605 | dup·48·/zero·put |
1606 | dup·49·/one·put | 1606 | dup·49·/one·put |
1607 | dup·50·/two·put | 1607 | dup·50·/two·put |
1608 | dup·51·/three·put | ||
1608 | dup·5 | 1609 | dup·53·/five·put |
1609 | dup·58·/colon·put | 1610 | dup·58·/colon·put |
1610 | dup·7 | 1611 | dup·70·/F·put |
1611 | dup·97·/a·put | 1612 | dup·97·/a·put |
1613 | dup·98·/b·put | ||
1612 | dup·1 | 1614 | dup·101·/e·put |
1613 | dup·114·/r·put | 1615 | dup·114·/r·put |
1614 | dup·117·/u·put | 1616 | dup·117·/u·put |
1615 | dup·121·/y·put | 1617 | dup·121·/y·put |
1616 | readonly·def | 1618 | readonly·def |
1617 | currentdict·end | 1619 | currentdict·end |
1618 | currentfile·eexec | 1620 | currentfile·eexec |
1619 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1621 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1797, 83 lines modified | Offset 1799, 94 lines modified | ||
1797 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1799 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1798 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1800 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1799 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1801 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1800 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1802 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1801 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1803 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1802 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1804 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1803 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1805 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1804 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1806 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1805 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1806 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1807 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1808 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1809 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1810 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1811 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1812 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1813 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1814 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1815 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1816 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1817 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1818 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1819 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1820 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1821 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1822 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1823 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1824 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1825 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1826 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1827 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1828 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1829 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1830 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1831 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1832 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1833 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1834 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1835 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1836 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1837 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1838 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1839 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1840 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1841 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1842 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1843 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1844 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1845 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1846 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1847 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1848 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1849 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1850 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1851 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1852 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1853 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1854 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1855 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1856 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1857 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1858 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1859 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1860 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1861 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1862 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1863 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1864 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1865 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1866 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1867 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1868 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1869 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1870 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1871 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1872 | 1807 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1808 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1809 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1810 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1811 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1812 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1813 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1814 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1815 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1816 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1817 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1818 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1819 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1820 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 24741/36282 bytes (68.19%) of diff not shown. |
Offset 35, 15 lines modified | Offset 35, 15 lines modified | ||
35 | ················by·independent·topological·traversals·of·the·front·tree.·It·is·the·list·and·working·storage·data·structures·(the\xd | 35 | ················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\xd | 36 | ················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.\xd | 37 | ················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\xd | 38 | ···················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\xd | 39 | ················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.\xd | 40 | ················of·the·factor·matrix·to·the·threads·that·will·compute·with·them.\xd |
41 | ·································································1\xd | 41 | ·································································1\xd |
42 | ··············2···························Multithreaded·:·DRAFT· | 42 | ··············2···························Multithreaded·:·DRAFT·February·13,·2025\xd |
43 | ··············1.1····Data·Structure\xd | 43 | ··············1.1····Data·Structure\xd |
44 | ··············There·are·no·multithreaded·specific·data·structures.·See·the·Lock·object·which·is·used·to·hide·the·particular\xd | 44 | ··············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.\xd | 45 | ··············mutual·exclusion·device·used·by·a·thread·library.\xd |
46 | ··············1.2····Prototypes·and·descriptions·of·MT·methods\xd | 46 | ··············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.\xd | 47 | ··············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\xd | 48 | ··············1.2.1···Matrix-matrix·multiply·methods\xd |
49 | ··············Therearefivemethodstomultiplyavectortimesadensematrix.·Thefirstthreemethods,calledInpMtx·MT·nonsym·mmm*(),\xd | 49 | ··············Therearefivemethodstomultiplyavectortimesadensematrix.·Thefirstthreemethods,calledInpMtx·MT·nonsym·mmm*(),\xd |
Offset 79, 15 lines modified | Offset 79, 15 lines modified | ||
79 | ···················This·method·computes·the·matrix-vector·product·y·:=·y+αA·x,·where·y·is·found·in·the·Y·DenseMtx\xd | 79 | ···················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\xd | 80 | ···················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\xd | 81 | ···················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\xd | 82 | ···················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\xd | 83 | ···················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,\xd | 84 | ···················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\xd | 85 | ···················msgFile),·for·this·may·result·in·a·segmentation·violation.·The·values·of·α·must·be·loaded·into·an\xd |
86 | ······································· | 86 | ·······································Multithreaded·:·DRAFT···February·13,·2025···················3\xd |
87 | ··················array·of·length·1·or·2.·The·number·of·threads·is·specified·by·the·nthread·parameter;·if,·nthread·is·1,\xd | 87 | ··················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\xd | 88 | ··················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.\xd | 89 | ··················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\xd | 90 | ··················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,\xd | 91 | ··················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\xd | 92 | ··················or·if·inputModeis·not·SPOOLES·REAL·or·SPOOLES·COMPLEX,an·error·message·is·printed·and·the·program\xd |
93 | ··················exits.\xd | 93 | ··················exits.\xd |
Offset 124, 15 lines modified | Offset 124, 15 lines modified | ||
124 | ·····················•·cpus[1]·—·time·spent·initializing·the·fronts·and·loading·the·original·entries.\xd | 124 | ·····················•·cpus[1]·—·time·spent·initializing·the·fronts·and·loading·the·original·entries.\xd |
125 | ·····················•·cpus[2]·—·time·spent·accumulating·updates·from·descendents.\xd | 125 | ·····················•·cpus[2]·—·time·spent·accumulating·updates·from·descendents.\xd |
126 | ·····················•·cpus[3]·—·time·spent·inserting·aggregate·fronts.\xd | 126 | ·····················•·cpus[3]·—·time·spent·inserting·aggregate·fronts.\xd |
127 | ·····················•·cpus[4]·—·time·spent·removing·and·assembling·aggregate·fronts.\xd | 127 | ·····················•·cpus[4]·—·time·spent·removing·and·assembling·aggregate·fronts.\xd |
128 | ·····················•·cpus[5]·—·time·spent·assembling·postponed·data.\xd | 128 | ·····················•·cpus[5]·—·time·spent·assembling·postponed·data.\xd |
129 | ·····················•·cpus[6]·—·time·spent·to·factor·the·fronts.\xd | 129 | ·····················•·cpus[6]·—·time·spent·to·factor·the·fronts.\xd |
130 | ·····················•·cpus[7]·—·time·spent·to·extract·postponed·data.\xd | 130 | ·····················•·cpus[7]·—·time·spent·to·extract·postponed·data.\xd |
131 | ················4·····························Multithreaded·:·DRAFT· | 131 | ················4·····························Multithreaded·:·DRAFT·February·13,·2025\xd |
132 | ·······················•·cpus[8]·—·time·spent·to·store·the·factor·entries.\xd | 132 | ·······················•·cpus[8]·—·time·spent·to·store·the·factor·entries.\xd |
133 | ·······················•·cpus[9]·—·miscellaneous·time.\xd | 133 | ·······················•·cpus[9]·—·miscellaneous·time.\xd |
134 | ·····················Onreturn,·the·stats[]·vector·is·filled·with·the·following·information.\xd | 134 | ·····················Onreturn,·the·stats[]·vector·is·filled·with·the·following·information.\xd |
135 | ·······················•·stats[0]·—·number·of·pivots.\xd | 135 | ·······················•·stats[0]·—·number·of·pivots.\xd |
136 | ·······················•·stats[1]·—·number·of·pivot·tests.\xd | 136 | ·······················•·stats[1]·—·number·of·pivot·tests.\xd |
137 | ·······················•·stats[2]·—·number·of·delayed·rows·and·columns.\xd | 137 | ·······················•·stats[2]·—·number·of·delayed·rows·and·columns.\xd |
138 | ·······················•·stats[3]·—·number·of·entries·in·D.\xd | 138 | ·······················•·stats[3]·—·number·of·entries·in·D.\xd |
Offset 164, 15 lines modified | Offset 164, 15 lines modified | ||
164 | ·····················an·error·message·is·printed·and·the·program·exits.\xd | 164 | ·····················an·error·message·is·printed·and·the·program·exits.\xd |
165 | ················1.2.4···Multithreaded·Solve·method\xd | 165 | ················1.2.4···Multithreaded·Solve·method\xd |
166 | ··················1.·void·FrontMtx_MT_solve·(·FrontMtx·*frontmtx,·DenseMtx·*mtxX,·DenseMtx·*mtxB,\xd | 166 | ··················1.·void·FrontMtx_MT_solve·(·FrontMtx·*frontmtx,·DenseMtx·*mtxX,·DenseMtx·*mtxB,\xd |
167 | ················································SubMtxManager·*mtxmanager,·SolveMap·*solvemap,\xd | 167 | ················································SubMtxManager·*mtxmanager,·SolveMap·*solvemap,\xd |
168 | ················································double·cpus[],·int·msglvl,·FILE·*msgFile·)·;\xd | 168 | ················································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·—\xd | 169 | ·····················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\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\xd |
171 | ·········································Multithreaded·:·DRAFT··· | 171 | ·········································Multithreaded·:·DRAFT···February·13,·2025·····················5\xd |
172 | ···················from·mtxB·and·entries·of·X·are·written·to·mtxX.·Therefore,·mtxX·and·mtxB·can·be·the·same·object.\xd | 172 | ···················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\xd | 173 | ···················(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.\xd | 174 | ···················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\xd | 175 | ···················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.\xd | 176 | ···················cpus[]·vector·is·filled·with·the·following.·The·stats[]·vector·is·not·currently·used.\xd |
177 | ·····················•·cpus[0]·—·set·up·the·solves\xd | 177 | ·····················•·cpus[0]·—·set·up·the·solves\xd |
178 | ·····················•·cpus[1]·—·fetch·right·hand·side·and·store·solution\xd | 178 | ·····················•·cpus[1]·—·fetch·right·hand·side·and·store·solution\xd |
Offset 206, 15 lines modified | Offset 206, 15 lines modified | ||
206 | ···················¿·0·and·msgFile·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 206 | ···················¿·0·and·msgFile·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
207 | ··············1.3····Driver·programs·for·the·multithreaded·functions\xd | 207 | ··············1.3····Driver·programs·for·the·multithreaded·functions\xd |
208 | ·················1.·allInOneMT·msglvl·msgFile·type·symmetryflag·pivotingflag\xd | 208 | ·················1.·allInOneMT·msglvl·msgFile·type·symmetryflag·pivotingflag\xd |
209 | ······························matrixFileName·rhsFileName·seed·nthread\xd | 209 | ······························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\xd | 210 | ···················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\xd | 211 | ···················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.\xd | 212 | ···················solves.·Use·the·script·file·do·gridMT·for·testing.\xd |
213 | ·············6·······················Multithreaded·:·DRAFT· | 213 | ·············6·······················Multithreaded·:·DRAFT·February·13,·2025\xd |
214 | ···················•·The·msglvlparameterdetermines·the·amount·of·output.·Use·msglvl·=·1·for·just·timing·output.\xd | 214 | ···················•·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\xd | 215 | ···················•·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.\xd | 216 | ····················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.\xd | 217 | ···················•·The·type·parameter·specifies·a·real·or·complex·linear·system.\xd |
218 | ······················–·type·=·1·(SPOOLES·REAL)·for·real,\xd | 218 | ······················–·type·=·1·(SPOOLES·REAL)·for·real,\xd |
219 | ······················–·type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd | 219 | ······················–·type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd |
220 | ···················•·The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd | 220 | ···················•·The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd |
Offset 249, 15 lines modified | Offset 249, 15 lines modified | ||
249 | ·················Thisdriverprogramisusedtotestthe“patch-and-go”functionalityforafactorizationwithoutpivoting.\xd | 249 | ·················Thisdriverprogramisusedtotestthe“patch-and-go”functionalityforafactorizationwithoutpivoting.\xd |
250 | ·················Whensmalldiagonalpivotelements·are·found,·one·of·three·actions·are·taken.·See·the·PatchAndGoInfo\xd | 250 | ·················Whensmalldiagonalpivotelements·are·found,·one·of·three·actions·are·taken.·See·the·PatchAndGoInfo\xd |
251 | ·················object·for·more·information.\xd | 251 | ·················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\xd | 252 | ·················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.\xd | 253 | ·················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.\xd | 254 | ·················Use·the·script·file·do·patchAndGo·for·testing.\xd |
255 | ···················•·The·msglvlparameterdetermines·the·amount·of·output.·Use·msglvl·=·1·for·just·timing·output.\xd | 255 | ···················•·The·msglvlparameterdetermines·the·amount·of·output.·Use·msglvl·=·1·for·just·timing·output.\xd |
256 | ·········································Multithreaded·:·DRAFT··· | 256 | ·········································Multithreaded·:·DRAFT···February·13,·2025·····················7\xd |
257 | ·····················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the·message\xd | 257 | ·····················•·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.\xd | 258 | ·······················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.\xd | 259 | ·····················•·The·type·parameter·specifies·a·real·or·complex·linear·system.\xd |
260 | ·························–·type·=·1·(SPOOLES·REAL)·for·real,\xd | 260 | ·························–·type·=·1·(SPOOLES·REAL)·for·real,\xd |
261 | ·························–·type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd | 261 | ·························–·type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd |
262 | ·····················•·The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd | 262 | ·····················•·The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd |
263 | ·························–·type·=·0·(SPOOLES·SYMMETRIC)·for·A·real·or·complex·symmetric,\xd | 263 | ·························–·type·=·0·(SPOOLES·SYMMETRIC)·for·A·real·or·complex·symmetric,\xd |
Offset 294, 15 lines modified | Offset 294, 15 lines modified | ||
294 | ·····················•·The·nthread·parameter·is·the·number·of·threads.\xd | 294 | ·····················•·The·nthread·parameter·is·the·number·of·threads.\xd |
295 | ·················3.·testMMM·msglvl·msgFile·dataType·symflag·storageMode·transpose\xd | 295 | ·················3.·testMMM·msglvl·msgFile·dataType·symflag·storageMode·transpose\xd |
296 | ···························nrow·ncol·nitem·nrhs·seed·alphaReal·alphaImag·nthread\xd | 296 | ···························nrow·ncol·nitem·nrhs·seed·alphaReal·alphaImag·nthread\xd |
297 | ···················ThisdriverprogramgeneratesA,·anrow×ncolmatrixusingniteminputentries,X·andY,nrow×nrhs\xd | 297 | ···················ThisdriverprogramgeneratesA,·anrow×ncolmatrixusingniteminputentries,X·andY,nrow×nrhs\xd |
298 | ·····················································································T·············H\xd | 298 | ·····················································································T·············H\xd |
299 | ···················matrices,·is·filled·with·random·numbers.·It·then·computes·Y·+α∗A∗X,Y·+α∗A·∗X·orY·+α∗A·∗X.\xd | 299 | ···················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.\xd | 300 | ···················The·program’s·output·is·a·file·which·when·sent·into·Matlab,·outputs·the·error·in·the·computation.\xd |
301 | ··············8···························Multithreaded·:·DRAFT· | 301 | ··············8···························Multithreaded·:·DRAFT·February·13,·2025\xd |
302 | ·····················•·Themsglvlparameterdeterminestheamountofoutput—takingmsglvl·>=·3meanstheInpMtx\xd | 302 | ·····················•·Themsglvlparameterdeterminestheamountofoutput—takingmsglvl·>=·3meanstheInpMtx\xd |
303 | ·······················object·is·written·to·the·message·file.\xd | 303 | ·······················object·is·written·to·the·message·file.\xd |
304 | ·····················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the·message\xd | 304 | ·····················•·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.\xd | 305 | ·······················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.\xd | 306 | ·····················•·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.\xd | 307 | ·····················•·symflag·is·the·symmetry·flag,·0·for·symmetric,·1·for·Hermitian,·2·for·nonsymmetric.\xd |
308 | ·····················•·storageModeisthestoragemodefortheentries,1forbyrows,2forbycolumns,·3forbychevrons.\xd | 308 | ·····················•·storageModeisthestoragemodefortheentries,1forbyrows,2forbycolumns,·3forbychevrons.\xd |
Offset 336, 15 lines modified | Offset 336, 15 lines modified | ||
336 | ·························–·type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd | 336 | ·························–·type·=·2·(SPOOLES·COMPLEX)·for·complex.\xd |
337 | ·····················•·The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd | 337 | ·····················•·The·symmetryflag·parameter·specifies·the·symmetry·of·the·matrix.\xd |
338 | ·························–·type·=·0·(SPOOLES·SYMMETRIC)·for·A·real·or·complex·symmetric,\xd | 338 | ·························–·type·=·0·(SPOOLES·SYMMETRIC)·for·A·real·or·complex·symmetric,\xd |
339 | ·························–·type·=·1·(SPOOLES·HERMITIAN)·for·A·complex·Hermitian,\xd | 339 | ·························–·type·=·1·(SPOOLES·HERMITIAN)·for·A·complex·Hermitian,\xd |
340 | ·························–·type·=·2·(SPOOLES·NONSYMMETRIC)\xd | 340 | ·························–·type·=·2·(SPOOLES·NONSYMMETRIC)\xd |
341 | ·······················for·A·real·or·complex·nonsymmetric.\xd | 341 | ·······················for·A·real·or·complex·nonsymmetric.\xd |
342 | ·····················•·The·sparsityflag·parameter·signals·a·direct·or·approximate·factorization.\xd | 342 | ·····················•·The·sparsityflag·parameter·signals·a·direct·or·approximate·factorization.\xd |
343 | ··············································· | 343 | ···············································Multithreaded·:·DRAFT·······February·13,·2025···························9\xd |
344 | ·····························–·sparsityflag·=·0·(FRONTMTX·DENSE·FRONTS)·implies·a·direct·factorization,·the·fronts·will\xd | 344 | ·····························–·sparsityflag·=·0·(FRONTMTX·DENSE·FRONTS)·implies·a·direct·factorization,·the·fronts·will\xd |
345 | ·······························be·stored·as·dense·submatrices.\xd | 345 | ·······························be·stored·as·dense·submatrices.\xd |
346 | ·····························–·sparsityflag·=·1·(FRONTMTX·SPARSE·FRONTS)·implies·an·approximate·factorization.·The\xd | 346 | ·····························–·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\xd | 347 | ·······························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\xd | 348 | ·······························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.\xd | 349 | ·······························be·stored,·otherwise·it·will·be·dropped.\xd |
350 | ·························•·The·pivotingflag·parameter·signals·whether·pivoting·for·stability·will·be·enabled·or·not.\xd | 350 | ·························•·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. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·Network.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·Network.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1543, 19 lines modified | Offset 1543, 21 lines modified | ||
1543 | end·readonly·def | 1543 | end·readonly·def |
1544 | /Encoding·256·array | 1544 | /Encoding·256·array |
1545 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1545 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1546 | dup·44·/comma·put | 1546 | dup·44·/comma·put |
1547 | dup·48·/zero·put | 1547 | dup·48·/zero·put |
1548 | dup·49·/one·put | 1548 | dup·49·/one·put |
1549 | dup·50·/two·put | 1549 | dup·50·/two·put |
1550 | dup·51·/three·put | ||
1550 | dup·5 | 1551 | dup·53·/five·put |
1551 | dup·58·/colon·put | 1552 | dup·58·/colon·put |
1552 | dup·7 | 1553 | dup·70·/F·put |
1553 | dup·97·/a·put | 1554 | dup·97·/a·put |
1555 | dup·98·/b·put | ||
1554 | dup·1 | 1556 | dup·101·/e·put |
1555 | dup·114·/r·put | 1557 | dup·114·/r·put |
1556 | dup·117·/u·put | 1558 | dup·117·/u·put |
1557 | dup·121·/y·put | 1559 | dup·121·/y·put |
1558 | readonly·def | 1560 | readonly·def |
1559 | currentdict·end | 1561 | currentdict·end |
1560 | currentfile·eexec | 1562 | currentfile·eexec |
1561 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1563 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1739, 83 lines modified | Offset 1741, 94 lines modified | ||
1739 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1741 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1740 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1742 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1741 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1743 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1742 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1744 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1743 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1745 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1744 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1746 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1745 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1747 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1746 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1748 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1747 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1748 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1749 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1750 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1751 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1752 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1753 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1754 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1755 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1756 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1757 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1758 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1759 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1760 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1761 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1762 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1763 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1764 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1765 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1766 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1767 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1768 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1769 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1770 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1771 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1772 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1773 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1774 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1775 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1776 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1777 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1778 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1779 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1780 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1781 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1782 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1783 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1784 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1785 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1786 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1787 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1788 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1789 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1790 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1791 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1792 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1793 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1794 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1795 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1796 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1797 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1798 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1799 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1800 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1801 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1802 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1803 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1804 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1805 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1806 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1807 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1808 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1809 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1810 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1811 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1812 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1813 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1814 | 1749 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1750 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1751 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1752 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1753 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1754 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1755 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1756 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1757 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1758 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1759 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1760 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1761 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1762 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 16939/28485 bytes (59.47%) of diff not shown. |
Offset 31, 15 lines modified | Offset 31, 15 lines modified | ||
31 | ················································B···········B\xd | 31 | ················································B···········B\xd |
32 | ·····················Similarly,·an·edge·(x,y)·where·x·∈·Y··and·y·∈·Y····is·not·found·in·the·network.\xd | 32 | ·····················Similarly,·an·edge·(x,y)·where·x·∈·Y··and·y·∈·Y····is·not·found·in·the·network.\xd |
33 | ·························································W···········W\xd | 33 | ·························································W···········W\xd |
34 | ···················•·An·edge·(x,y)·where·x·∈·Y····and·y·∈·Y·becomes·two·edges,·(x,y−)·and·(y+,x),·both·with\xd | 34 | ···················•·An·edge·(x,y)·where·x·∈·Y····and·y·∈·Y·becomes·two·edges,·(x,y−)·and·(y+,x),·both·with\xd |
35 | ················································B···········I\xd | 35 | ················································B···········I\xd |
36 | ·····················infinite·capacity.\xd | 36 | ·····················infinite·capacity.\xd |
37 | ·······························································1\xd | 37 | ·······························································1\xd |
38 | ··············2····························Network·:·DRAFT· | 38 | ··············2····························Network·:·DRAFT·February·13,·2025\xd |
39 | ·················•·An·edge·(y,z)·where·y·∈·Y·and·z·∈·Y···becomes·two·edges,·(y+,z)·and·(z,y−),·both·with\xd | 39 | ·················•·An·edge·(y,z)·where·y·∈·Y·and·z·∈·Y···becomes·two·edges,·(y+,z)·and·(z,y−),·both·with\xd |
40 | ············································I·········W\xd | 40 | ············································I·········W\xd |
41 | ···················infinite·capacity.\xd | 41 | ···················infinite·capacity.\xd |
42 | ···········································································+·−·········+·−\xd | 42 | ···········································································+·−·········+·−\xd |
43 | ·················•·An·edge·(x,y)·where·x·∈·Y·and·y·∈·Y·becomes·two·edges,·(x·,y·)·and·(y·,x·),·both·with\xd | 43 | ·················•·An·edge·(x,y)·where·x·∈·Y·and·y·∈·Y·becomes·two·edges,·(x·,y·)·and·(y·,x·),·both·with\xd |
44 | ···········································I·········I\xd | 44 | ···········································I·········I\xd |
45 | ···················infinite·capacity.\xd | 45 | ···················infinite·capacity.\xd |
Offset 71, 15 lines modified | Offset 71, 15 lines modified | ||
71 | ·················•·ArcChunk·–·a·structure·that·holds·the·storage·for·a·number·of·arcs.·Since·we·do·not·require\xd | 71 | ·················•·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-\xd | 72 | ···················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\xd | 73 | ···················cate·chunks·of·space·to·hold·the·arcs·as·necessary.·Each·chunks·holds·space·for·nnode·arc\xd |
74 | ···················structures.\xd | 74 | ···················structures.\xd |
75 | ·················The·Network·object·has·six·fields.\xd | 75 | ·················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\xd | 76 | ·················•·int·nnode·—·the·number·of·nodes·in·the·network,·including·the·source·(node·0)·and·the·sink\xd |
77 | ···················(node·nnode-1).\xd | 77 | ···················(node·nnode-1).\xd |
78 | ·····································Network·:·DRAFT·· | 78 | ·····································Network·:·DRAFT··February·13,·2025··················3\xd |
79 | ···············•·int·narc·—·the·number·of·arcs·in·the·network\xd | 79 | ···············•·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.\xd | 80 | ···············•·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\xd | 81 | ···············•·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.\xd | 82 | ·················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\xd | 83 | ···············•·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.\xd | 84 | ·················arc·in·the·out-list·for·node·v.\xd |
85 | ···············•·ArcChunk·*chunk·—·pointer·to·the·first·ArcChunk·structure.\xd | 85 | ···············•·ArcChunk·*chunk·—·pointer·to·the·first·ArcChunk·structure.\xd |
Offset 99, 15 lines modified | Offset 99, 15 lines modified | ||
99 | ···············•·int·size·—·the·total·number·of·Arc·structures·in·this·chunk.\xd | 99 | ···············•·int·size·—·the·total·number·of·Arc·structures·in·this·chunk.\xd |
100 | ···············•·int·inuse·—·the·number·of·active·Arc·structures·in·this·chunk.\xd | 100 | ···············•·int·inuse·—·the·number·of·active·Arc·structures·in·this·chunk.\xd |
101 | ···············•·Arc·*base·—·pointer·to·the·first·Arc·structure·in·this·chunk.\xd | 101 | ···············•·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.\xd | 102 | ···············•·ArcChunk·*next·—·pointer·to·the·next·ArcChunk·structure·in·the·list·of·chunks.\xd |
103 | ············1.2····Prototypes·and·descriptions·of·Network·methods\xd | 103 | ············1.2····Prototypes·and·descriptions·of·Network·methods\xd |
104 | ············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 104 | ············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
105 | ············Network·object.\xd | 105 | ············Network·object.\xd |
106 | ··············4·························· | 106 | ··············4··························Network·:·DRAFT·February·13,·2025\xd |
107 | ··············1.2.1··Basic·methods\xd | 107 | ··············1.2.1··Basic·methods\xd |
108 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 108 | ··············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.\xd | 109 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
110 | ················1.·Network·*·Network_new·(·void·)·;\xd | 110 | ················1.·Network·*·Network_new·(·void·)·;\xd |
111 | ···················This·method·simply·allocates·storage·for·the·Network·structure·and·then·sets·the·default\xd | 111 | ···················This·method·simply·allocates·storage·for·the·Network·structure·and·then·sets·the·default\xd |
112 | ···················fields·by·a·call·to·Network·setDefaultFields().\xd | 112 | ···················fields·by·a·call·to·Network·setDefaultFields().\xd |
113 | ················2.·void·Network_setDefaultFields·(·Network·*network·)·;\xd | 113 | ················2.·void·Network_setDefaultFields·(·Network·*network·)·;\xd |
Offset 135, 15 lines modified | Offset 135, 15 lines modified | ||
135 | ················3.·void·Network_addArc·(·Network·*network,·int·firstNode,·secondNode,\xd | 135 | ················3.·void·Network_addArc·(·Network·*network,·int·firstNode,·secondNode,\xd |
136 | ·········································int·capacity,·int·flow·)·;\xd | 136 | ·········································int·capacity,·int·flow·)·;\xd |
137 | ···················This·method·adds·an·arc·from·firstNode·to·secondNode·with·flow·flow·and·capacity\xd | 137 | ···················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.\xd | 138 | ···················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·≤\xd | 139 | ···················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\xd | 140 | ···················firstNode,·or·if·secondNode·≤·0,·or·if·nnode·≤·secondNode,·or·if·capacity·≤·0,·an·error\xd |
141 | ···················message·is·printed·and·the·program·exits.\xd | 141 | ···················message·is·printed·and·the·program·exits.\xd |
142 | ·····································Network·:·DRAFT·· | 142 | ·····································Network·:·DRAFT··February·13,·2025··················5\xd |
143 | ············1.2.3··Utility·methods\xd | 143 | ············1.2.3··Utility·methods\xd |
144 | ···············1.·void·Network_findMaxFlow·(·Network·*network·)·;\xd | 144 | ···············1.·void·Network_findMaxFlow·(·Network·*network·)·;\xd |
145 | ·················This·method·finds·a·maximum·flow·over·the·network·by·repeatedly·calling·the·method·to\xd | 145 | ·················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\xd | 146 | ·················find·an·augmenting·path·and·then·the·method·to·augment·the·path.·It·uses·an·Ideq·object\xd |
147 | ·················to·maintain·a·priority·dequeue.\xd | 147 | ·················to·maintain·a·priority·dequeue.\xd |
148 | ·················Error·checking:·If·network·is·NULL,·or·if·nnode·≤·0,·an·error·message·is·printed·and·the\xd | 148 | ·················Error·checking:·If·network·is·NULL,·or·if·nnode·≤·0,·an·error·message·is·printed·and·the\xd |
149 | ·················program·exits.\xd | 149 | ·················program·exits.\xd |
Offset 172, 15 lines modified | Offset 172, 15 lines modified | ||
172 | ·················and·the·program·exits.\xd | 172 | ·················and·the·program·exits.\xd |
173 | ···············5.·void·Network_findMincutFromSink·(·Network·*network,·Ideq·deq,·int·mark[])·;\xd | 173 | ···············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\xd | 174 | ·················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\xd | 175 | ·················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.\xd | 176 | ·················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\xd | 177 | ·················Error·checking:·If·network,·deq·or·mark·is·NULL,·or·if·nnode·≤·0,·an·error·message·is·printed\xd |
178 | ·················and·the·program·exits.\xd | 178 | ·················and·the·program·exits.\xd |
179 | ··············6·························· | 179 | ··············6··························Network·:·DRAFT·February·13,·2025\xd |
180 | ··············1.2.4··IO·methods\xd | 180 | ··············1.2.4··IO·methods\xd |
181 | ··············There·are·two·IO·routines·for·debugging·purposes.\xd | 181 | ··············There·are·two·IO·routines·for·debugging·purposes.\xd |
182 | ················1.·void·Network_writeForHumanEye·(·Network·*network,·FILE·*fp·)·;\xd | 182 | ················1.·void·Network_writeForHumanEye·(·Network·*network,·FILE·*fp·)·;\xd |
183 | ···················Thismethodwritesthenetworktoafileinahumanreadableformat.·ThemethodNetwork·writeStats()\xd | 183 | ···················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\xd | 184 | ···················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.\xd | 185 | ···················the·network·are·printed.\xd |
186 | ···················Error·checking:·If·network·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 186 | ···················Error·checking:·If·network·or·fp·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·PatchAndGoInfo.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·PatchAndGoInfo.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2041, 19 lines modified | Offset 2041, 21 lines modified | ||
2041 | end·readonly·def | 2041 | end·readonly·def |
2042 | /Encoding·256·array | 2042 | /Encoding·256·array |
2043 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2043 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2044 | dup·44·/comma·put | 2044 | dup·44·/comma·put |
2045 | dup·48·/zero·put | 2045 | dup·48·/zero·put |
2046 | dup·49·/one·put | 2046 | dup·49·/one·put |
2047 | dup·50·/two·put | 2047 | dup·50·/two·put |
2048 | dup·51·/three·put | ||
2048 | dup·5 | 2049 | dup·53·/five·put |
2049 | dup·58·/colon·put | 2050 | dup·58·/colon·put |
2050 | dup·7 | 2051 | dup·70·/F·put |
2051 | dup·97·/a·put | 2052 | dup·97·/a·put |
2053 | dup·98·/b·put | ||
2052 | dup·1 | 2054 | dup·101·/e·put |
2053 | dup·114·/r·put | 2055 | dup·114·/r·put |
2054 | dup·117·/u·put | 2056 | dup·117·/u·put |
2055 | dup·121·/y·put | 2057 | dup·121·/y·put |
2056 | readonly·def | 2058 | readonly·def |
2057 | currentdict·end | 2059 | currentdict·end |
2058 | currentfile·eexec | 2060 | currentfile·eexec |
2059 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2061 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2237, 83 lines modified | Offset 2239, 94 lines modified | ||
2237 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2239 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2238 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2240 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2239 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2241 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2240 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2242 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2241 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2243 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2242 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2244 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2243 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2245 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2244 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2246 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2245 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2246 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2247 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2248 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2249 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2250 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2251 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2252 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2253 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2254 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2255 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2256 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2257 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2258 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2259 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2260 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2261 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2262 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2263 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2264 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2265 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2266 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2267 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2268 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2269 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2270 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2271 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2272 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2273 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2274 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2275 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2276 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2277 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2278 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2279 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2280 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2281 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2282 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2283 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2284 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2285 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2286 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2287 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2288 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2289 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2290 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2291 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2292 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2293 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2294 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2295 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2296 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2297 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2298 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2299 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2300 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2301 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2302 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2303 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2304 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2305 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2306 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2307 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2308 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2309 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2310 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2311 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2312 | 2247 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2248 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2249 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2250 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2251 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2252 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2253 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2254 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2255 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2256 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2257 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2258 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2259 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2260 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 5248/16801 bytes (31.24%) of diff not shown. |
Offset 26, 15 lines modified | Offset 26, 15 lines modified | ||
26 | ····························If·A······is·singular,·the·solution·X·=·0·and·X·=·A−1B·is·perfectly·acceptable.·In·other\xd | 26 | ····························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\xd | 27 | ··································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\xd | 28 | ····························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\xd | 29 | ····························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\xd | 30 | ····························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\xd | 31 | ····························the·magnitude·is·smaller·than·a·user-supplied·parameter,·the·diagonal·entry·is·set·to·some\xd |
32 | ·····················································································1\xd | 32 | ·····················································································1\xd |
33 | ···············2··························PatchAndGoInfo·:·DRAFT· | 33 | ···············2··························PatchAndGoInfo·:·DRAFT·February·13,·2025\xd |
34 | ·····················multiple·of·the·largest·offdiagonal·entry·in·that·row·and·column·of·the·front,·the·location·and\xd | 34 | ·····················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.\xd | 35 | ·····················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\xd | 36 | ··················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,\xd | 37 | ···············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.\xd | 38 | ···············one·could·abort·the·factorization,·or·perturb·the·element·so·that·it·is·positive.\xd |
39 | ···············1.1····Data·Structure\xd | 39 | ···············1.1····Data·Structure\xd |
40 | ···············The·PatchAndGoInfo·structure·has·five·fields.\xd | 40 | ···············The·PatchAndGoInfo·structure·has·five·fields.\xd |
Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
58 | ··················1.·PatchAndGoInfo·*·PatchAndGoInfo_new·(·void·)·;\xd | 58 | ··················1.·PatchAndGoInfo·*·PatchAndGoInfo_new·(·void·)·;\xd |
59 | ·····················This·method·simply·allocates·storage·for·the·PatchAndGoInfo·structure·and·then·sets·the\xd | 59 | ·····················This·method·simply·allocates·storage·for·the·PatchAndGoInfo·structure·and·then·sets·the\xd |
60 | ·····················default·fields·by·a·call·to·PatchAndGoInfo·setDefaultFields().\xd | 60 | ·····················default·fields·by·a·call·to·PatchAndGoInfo·setDefaultFields().\xd |
61 | ··················2.·void·PatchAndGoInfo_setDefaultFields·(·PatchAndGoInfo·*info·)·;\xd | 61 | ··················2.·void·PatchAndGoInfo_setDefaultFields·(·PatchAndGoInfo·*info·)·;\xd |
62 | ·····················This·method·sets·the·structure’s·fields·to·default·values:·strategy·=·-1,·toosmall·=·fudge\xd | 62 | ·····················This·method·sets·the·structure’s·fields·to·default·values:·strategy·=·-1,·toosmall·=·fudge\xd |
63 | ·····················=0.0,·and·fudgeIV·=·fudgeDV·=·NULL·.\xd | 63 | ·····················=0.0,·and·fudgeIV·=·fudgeDV·=·NULL·.\xd |
64 | ·····················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 64 | ·····················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
65 | ··································PatchAndGoInfo·:·DRAFT·· | 65 | ··································PatchAndGoInfo·:·DRAFT··February·13,·2025···············3\xd |
66 | ···············3.·void·PatchAndGoInfo_clearData·(·PatchAndGoInfo·*info·)·;\xd | 66 | ···············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\xd | 67 | ·················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\xd | 68 | ·················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().\xd | 69 | ·················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.\xd | 70 | ·················Error·checking:·If·info·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
71 | ···············4.·void·PatchAndGoInfo_free·(·PatchAndGoInfo·*info·)·;\xd | 71 | ···············4.·void·PatchAndGoInfo_free·(·PatchAndGoInfo·*info·)·;\xd |
72 | ·················This·method·releases·any·storage·by·a·call·to·PatchAndGoInfo·clearData()·then·free’s·the\xd | 72 | ·················This·method·releases·any·storage·by·a·call·to·PatchAndGoInfo·clearData()·then·free’s·the\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·Pencil.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·Pencil.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1882, 19 lines modified | Offset 1882, 21 lines modified | ||
1882 | end·readonly·def | 1882 | end·readonly·def |
1883 | /Encoding·256·array | 1883 | /Encoding·256·array |
1884 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1884 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1885 | dup·44·/comma·put | 1885 | dup·44·/comma·put |
1886 | dup·48·/zero·put | 1886 | dup·48·/zero·put |
1887 | dup·49·/one·put | 1887 | dup·49·/one·put |
1888 | dup·50·/two·put | 1888 | dup·50·/two·put |
1889 | dup·51·/three·put | ||
1889 | dup·5 | 1890 | dup·53·/five·put |
1890 | dup·58·/colon·put | 1891 | dup·58·/colon·put |
1891 | dup·7 | 1892 | dup·70·/F·put |
1892 | dup·97·/a·put | 1893 | dup·97·/a·put |
1894 | dup·98·/b·put | ||
1893 | dup·1 | 1895 | dup·101·/e·put |
1894 | dup·114·/r·put | 1896 | dup·114·/r·put |
1895 | dup·117·/u·put | 1897 | dup·117·/u·put |
1896 | dup·121·/y·put | 1898 | dup·121·/y·put |
1897 | readonly·def | 1899 | readonly·def |
1898 | currentdict·end | 1900 | currentdict·end |
1899 | currentfile·eexec | 1901 | currentfile·eexec |
1900 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1902 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2078, 83 lines modified | Offset 2080, 94 lines modified | ||
2078 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2080 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2079 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2081 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2080 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2082 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2081 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2083 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2082 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2084 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2083 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2085 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2084 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2086 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2085 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2087 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2086 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2087 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2088 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2089 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2090 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2091 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2092 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2093 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2094 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2095 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2096 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2097 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2098 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2099 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2100 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2101 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2102 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2103 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2104 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2105 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2106 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2107 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2108 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2109 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2110 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2111 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2112 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2113 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2114 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2115 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2116 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2117 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2118 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2119 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2120 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2121 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2122 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2123 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2124 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2125 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2126 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2127 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2128 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2129 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2130 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2131 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2132 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2133 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2134 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2135 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2136 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2137 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2138 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2139 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2140 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2141 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2142 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2143 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2144 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2145 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2146 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2147 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2148 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2149 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2150 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2151 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2152 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2153 | 2088 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2089 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2090 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2091 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2092 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2093 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2094 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2095 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2096 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2097 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2098 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2099 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2100 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2101 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 6401/17946 bytes (35.67%) of diff not shown. |
Offset 16, 15 lines modified | Offset 16, 15 lines modified | ||
16 | ··············•·InpMtx·*inpmtxB·:·pointer·to·the·matrix·object·for·B.·If·inpmtxB·is·NULL,·then·B·is·the\xd | 16 | ··············•·InpMtx·*inpmtxB·:·pointer·to·the·matrix·object·for·B.·If·inpmtxB·is·NULL,·then·B·is·the\xd |
17 | ···············identity·matrix.\xd | 17 | ···············identity·matrix.\xd |
18 | ··············•·double·sigma[2]·:·real·or·complex·scalar·shift·value.\xd | 18 | ··············•·double·sigma[2]·:·real·or·complex·scalar·shift·value.\xd |
19 | ···········1.2··Prototypes·and·descriptions·of·Pencil·methods\xd | 19 | ···········1.2··Prototypes·and·descriptions·of·Pencil·methods\xd |
20 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 20 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
21 | ···········Pencil·object.\xd | 21 | ···········Pencil·object.\xd |
22 | ·············································1\xd | 22 | ·············································1\xd |
23 | ··············2···························· | 23 | ··············2····························Chv·:·DRAFT·February·13,·2025\xd |
24 | ··············1.2.1··Basic·methods\xd | 24 | ··············1.2.1··Basic·methods\xd |
25 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 25 | ··············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.\xd | 26 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
27 | ················1.·Pencil·*·Pencil_new·(·void·)·;\xd | 27 | ················1.·Pencil·*·Pencil_new·(·void·)·;\xd |
28 | ··················This·method·simply·allocates·storage·for·the·Pencil·structure·and·then·sets·the·default·fields\xd | 28 | ··················This·method·simply·allocates·storage·for·the·Pencil·structure·and·then·sets·the·default·fields\xd |
29 | ··················by·a·call·to·Pencil·setDefaultFields().\xd | 29 | ··················by·a·call·to·Pencil·setDefaultFields().\xd |
30 | ················2.·void·Pencil_setDefaultFields·(·Pencil·*pencil·)·;\xd | 30 | ················2.·void·Pencil_setDefaultFields·(·Pencil·*pencil·)·;\xd |
Offset 48, 15 lines modified | Offset 48, 15 lines modified | ||
48 | ················1.·void·Pencil_changeCoordType·(·Pencil·*pencil,·int·newType·)·;\xd | 48 | ················1.·void·Pencil_changeCoordType·(·Pencil·*pencil,·int·newType·)·;\xd |
49 | ··················ThismethodsimplycallstheInpMtx·changeCoordType()methodforeachofitstwomatrices.\xd | 49 | ··················ThismethodsimplycallstheInpMtx·changeCoordType()methodforeachofitstwomatrices.\xd |
50 | ··················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 50 | ··················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·)·;\xd | 51 | ················2.·void·Pencil_changeStorageMode·(·Pencil·*pencil,·int·newMode·)·;\xd |
52 | ··················This·method·simply·calls·the·InpMtx·changeStorageMode()·method·for·each·of·its·two·ma-\xd | 52 | ··················This·method·simply·calls·the·InpMtx·changeStorageMode()·method·for·each·of·its·two·ma-\xd |
53 | ··················trices.\xd | 53 | ··················trices.\xd |
54 | ··················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 54 | ··················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
55 | ············································ | 55 | ············································Chv·:·DRAFT·····February·13,·2025··························3\xd |
56 | ·················3.·void·Pencil_sortAndCompress·(·Pencil·*pencil·)·;\xd | 56 | ·················3.·void·Pencil_sortAndCompress·(·Pencil·*pencil·)·;\xd |
57 | ···················ThismethodsimplycallstheInpMtx·sortAndCompress()methodforeachofitstwomatrices.\xd | 57 | ···················ThismethodsimplycallstheInpMtx·sortAndCompress()methodforeachofitstwomatrices.\xd |
58 | ···················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 58 | ···················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
59 | ·················4.·void·Pencil_convertToVectors·(·Pencil·*pencil·)·;\xd | 59 | ·················4.·void·Pencil_convertToVectors·(·Pencil·*pencil·)·;\xd |
60 | ···················ThismethodsimplycallstheInpMtx·sortAndCompress()methodforeachofitstwomatrices.\xd | 60 | ···················ThismethodsimplycallstheInpMtx·sortAndCompress()methodforeachofitstwomatrices.\xd |
61 | ···················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 61 | ···················Error·checking:·If·pencil·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
62 | ·················5.·void·Pencil_mapToLowerTriangle·(·Pencil·*pencil·)·;\xd | 62 | ·················5.·void·Pencil_mapToLowerTriangle·(·Pencil·*pencil·)·;\xd |
Offset 83, 15 lines modified | Offset 83, 15 lines modified | ||
83 | ·················1.·Pencil·*·Pencil_setup·(·int·myid,·int·symflag,·char·*inpmtxAfile,\xd | 83 | ·················1.·Pencil·*·Pencil_setup·(·int·myid,·int·symflag,·char·*inpmtxAfile,\xd |
84 | ·······················double·sigma[],·char·*inpmtxBfile,·int·randomflag,·Drand·*drand,\xd | 84 | ·······················double·sigma[],·char·*inpmtxBfile,·int·randomflag,·Drand·*drand,\xd |
85 | ·······················int·msglvl,·FILE·*msgFile·)·;\xd | 85 | ·······················int·msglvl,·FILE·*msgFile·)·;\xd |
86 | ···················This·method·is·used·to·read·in·the·matrices·from·two·files·and·initialize·the·objects.·If\xd | 86 | ···················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\xd | 87 | ···················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\xd | 88 | ···················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.\xd | 89 | ···················entries·are·filled·with·random·numbers·using·the·Drand·random·number·generator·drand.\xd |
90 | ·······4·············· | 90 | ·······4··············Chv·:·DRAFT·February·13,·2025\xd |
91 | ··········Note:·this·method·was·created·for·an·MPI·application.·If·myid·is·zero,·then·the·files·are\xd | 91 | ··········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,\xd | 92 | ··········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\xd | 93 | ··········process·zero·reads·in·the·matrices·and·then·starts·the·process·to·distribute·them·to·the·other\xd |
94 | ··········processes.\xd | 94 | ··········processes.\xd |
95 | ··········Error·checking:·If·pencil·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 95 | ··········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·)·;\xd | 96 | ········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\xd | 97 | ··········This·method·reads·the·two·InpMtx·objects·from·two·files.·If·fnA·is·“none”,·then·A·is·not\xd |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·Perm.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·Perm.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1016, 19 lines modified | Offset 1016, 21 lines modified | ||
1016 | end·readonly·def | 1016 | end·readonly·def |
1017 | /Encoding·256·array | 1017 | /Encoding·256·array |
1018 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1018 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1019 | dup·44·/comma·put | 1019 | dup·44·/comma·put |
1020 | dup·48·/zero·put | 1020 | dup·48·/zero·put |
1021 | dup·49·/one·put | 1021 | dup·49·/one·put |
1022 | dup·50·/two·put | 1022 | dup·50·/two·put |
1023 | dup·51·/three·put | ||
1023 | dup·5 | 1024 | dup·53·/five·put |
1024 | dup·58·/colon·put | 1025 | dup·58·/colon·put |
1025 | dup·7 | 1026 | dup·70·/F·put |
1026 | dup·97·/a·put | 1027 | dup·97·/a·put |
1028 | dup·98·/b·put | ||
1027 | dup·1 | 1029 | dup·101·/e·put |
1028 | dup·114·/r·put | 1030 | dup·114·/r·put |
1029 | dup·117·/u·put | 1031 | dup·117·/u·put |
1030 | dup·121·/y·put | 1032 | dup·121·/y·put |
1031 | readonly·def | 1033 | readonly·def |
1032 | currentdict·end | 1034 | currentdict·end |
1033 | currentfile·eexec | 1035 | currentfile·eexec |
1034 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1036 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1212, 83 lines modified | Offset 1214, 94 lines modified | ||
1212 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1214 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1213 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1215 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1214 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1216 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1215 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1217 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1216 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1218 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1217 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1219 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1218 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1220 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1219 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1221 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1220 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1221 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1222 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1223 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1224 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1225 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1226 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1227 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1228 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1229 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1230 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1231 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1232 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1233 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1234 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1235 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1236 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1237 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1238 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1239 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1240 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1241 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1242 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1243 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1244 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1245 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1246 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1247 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1248 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1249 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1250 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1251 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1252 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1253 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1254 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1255 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1256 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1257 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1258 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1259 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1260 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1261 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1262 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1263 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1264 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1265 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1266 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1267 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1268 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1269 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1270 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1271 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1272 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1273 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1274 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1275 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1276 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1277 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1278 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1279 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1280 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1281 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1282 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1283 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1284 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1285 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1286 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1287 | 1222 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1223 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1224 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1225 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1226 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1227 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1228 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1229 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1230 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1231 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1232 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1233 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1234 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1235 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 12286/23829 bytes (51.56%) of diff not shown. |
Offset 14, 15 lines modified | Offset 14, 15 lines modified | ||
14 | ·············•·int·size·:·dimension·of·the·vectors\xd | 14 | ·············•·int·size·:·dimension·of·the·vectors\xd |
15 | ·············•·int·*newToOld·:·pointer·to·the·new-to-old·vector\xd | 15 | ·············•·int·*newToOld·:·pointer·to·the·new-to-old·vector\xd |
16 | ·············•·int·*oldToNew·:·pointer·to·the·old-to-new·vector\xd | 16 | ·············•·int·*oldToNew·:·pointer·to·the·old-to-new·vector\xd |
17 | ···········1.2··Prototypes·and·descriptions·of·Perm·methods\xd | 17 | ···········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\xd | 18 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Perm\xd |
19 | ···········object.\xd | 19 | ···········object.\xd |
20 | ·············································1\xd | 20 | ·············································1\xd |
21 | ··············2····························PERM·:·DRAFT· | 21 | ··············2····························PERM·:·DRAFT·February·13,·2025\xd |
22 | ··············1.2.1··Basic·methods\xd | 22 | ··············1.2.1··Basic·methods\xd |
23 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 23 | ··············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.\xd | 24 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
25 | ················1.·Perm·*·Perm_new·(·void·)·;\xd | 25 | ················1.·Perm·*·Perm_new·(·void·)·;\xd |
26 | ···················This·method·simply·allocates·storage·for·the·Perm·structure·and·then·sets·the·default·fields\xd | 26 | ···················This·method·simply·allocates·storage·for·the·Perm·structure·and·then·sets·the·default·fields\xd |
27 | ···················by·a·call·to·Perm·setDefaultFields().\xd | 27 | ···················by·a·call·to·Perm·setDefaultFields().\xd |
28 | ················2.·void·Perm_setDefaultFields·(·Perm·*perm·)·;\xd | 28 | ················2.·void·Perm_setDefaultFields·(·Perm·*perm·)·;\xd |
Offset 46, 15 lines modified | Offset 46, 15 lines modified | ||
46 | ···················isPresent·==·3·then·newToOld·and·newToOld·are·set·with·calls·to·IVinit().\xd | 46 | ···················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\xd | 47 | ···················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.\xd | 48 | ···················is·printed·and·the·program·exits.\xd |
49 | ··············1.2.3··Utility·methods\xd | 49 | ··············1.2.3··Utility·methods\xd |
50 | ················1.·int·Perm_sizeOf·(·Perm·*perm·)·;\xd | 50 | ················1.·int·Perm_sizeOf·(·Perm·*perm·)·;\xd |
51 | ···················This·method·returns·the·number·of·bytes·taken·by·this·object.\xd | 51 | ···················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.\xd | 52 | ···················Error·checking:·If·perm·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
53 | ······································ | 53 | ······································PERM·:·DRAFT···February·13,·2025···················3\xd |
54 | ···············2.·int·Perm_checkPerm·(·Perm·*perm·)·;\xd | 54 | ···············2.·int·Perm_checkPerm·(·Perm·*perm·)·;\xd |
55 | ·················This·method·checks·the·validity·of·the·Perm·object.·If·oldToNew·is·present,·it·is·checked\xd | 55 | ·················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\xd | 56 | ·················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,\xd | 57 | ·················[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.\xd | 58 | ·················1·is·returned,·otherwise·0·is·returned.\xd |
59 | ·················Error·checking:·If·perm·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 59 | ·················Error·checking:·If·perm·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
60 | ···············3.·void·Perm_fillOldToNew·(·Perm·*perm·)·;\xd | 60 | ···············3.·void·Perm_fillOldToNew·(·Perm·*perm·)·;\xd |
Offset 80, 15 lines modified | Offset 80, 15 lines modified | ||
80 | ·················compressed·graph.\xd | 80 | ·················compressed·graph.\xd |
81 | ·················Error·checking:·If·perm·or·eqmapIV·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 81 | ·················Error·checking:·If·perm·or·eqmapIV·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
82 | ············1.2.4··IO·methods\xd | 82 | ············1.2.4··IO·methods\xd |
83 | ············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·Perm·object·is·simple:\xd | 83 | ············There·are·the·usual·eight·IO·routines.·The·file·structure·of·a·Perm·object·is·simple:\xd |
84 | ············isPresent·size\xd | 84 | ············isPresent·size\xd |
85 | ············oldToNew[size]·(if·present)\xd | 85 | ············oldToNew[size]·(if·present)\xd |
86 | ············newToOld[size]·(if·present)\xd | 86 | ············newToOld[size]·(if·present)\xd |
87 | ·······4··············PERM·:·DRAFT· | 87 | ·······4··············PERM·:·DRAFT·February·13,·2025\xd |
88 | ········1.·int·Perm_readFromFile·(·Perm·*perm,·char·*fn·)·;\xd | 88 | ········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\xd | 89 | ··········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\xd | 90 | ··········then·calls·Perm·readFromFormattedFile()·or·Perm·readFromBinaryFile(),·closes·the·file\xd |
91 | ··········and·returns·the·value·returned·from·the·called·routine.\xd | 91 | ··········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\xd | 92 | ··········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.\xd | 93 | ··········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·)·;\xd | 94 | ········2.·int·Perm_readFromFormattedFile·(·Perm·*perm,·FILE·*fp·)·;\xd |
Offset 117, 15 lines modified | Offset 117, 15 lines modified | ||
117 | ··········This·method·writes·out·a·Perm·object·to·a·binary·file.·If·there·are·no·errors·in·writing·the\xd | 117 | ··········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.\xd | 118 | ··········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.\xd | 119 | ··········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·)·;\xd | 120 | ········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\xd | 121 | ··········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.\xd | 122 | ··········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.\xd | 123 | ··········Error·checking:·If·perm·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
124 | ······································ | 124 | ······································PERM·:·DRAFT···February·13,·2025···················5\xd |
125 | ···············8.·int·Perm_writeStats·(·Perm·*perm,·FILE·*fp·)·;\xd | 125 | ···············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.\xd | 126 | ·················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.\xd | 127 | ·················Error·checking:·If·perm·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
128 | ·······Index\xd | 128 | ·······Index\xd |
129 | ·······Perm·checkPerm(),·4\xd | 129 | ·······Perm·checkPerm(),·4\xd |
130 | ·······Perm·clearData(),·3\xd | 130 | ·······Perm·clearData(),·3\xd |
131 | ·······Perm·compress(),·4\xd | 131 | ·······Perm·compress(),·4\xd |
Offset 12, 15 lines modified | Offset 12, 15 lines modified | ||
12 | %%EndComments | 12 | %%EndComments |
13 | %%BeginDefaults | 13 | %%BeginDefaults |
14 | %%ViewingOrientation:·1·0·0·1 | 14 | %%ViewingOrientation:·1·0·0·1 |
15 | %%EndDefaults | 15 | %%EndDefaults |
16 | %DVIPSWebPage:·(www.radicaleye.com) | 16 | %DVIPSWebPage:·(www.radicaleye.com) |
17 | %DVIPSCommandLine:·dvips·main·-o·ReferenceManual.ps | 17 | %DVIPSCommandLine:·dvips·main·-o·ReferenceManual.ps |
18 | %DVIPSParameters:·dpi=600 | 18 | %DVIPSParameters:·dpi=600 |
19 | %DVIPSSource:··TeX·output·202 | 19 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
20 | %%BeginProcSet:·tex.pro·0·0 | 20 | %%BeginProcSet:·tex.pro·0·0 |
21 | %! | 21 | %! |
22 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 22 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
23 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 23 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
24 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 24 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
25 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 25 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
26 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 26 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 4808, 19 lines modified | Offset 4808, 21 lines modified | ||
4808 | end·readonly·def | 4808 | end·readonly·def |
4809 | /Encoding·256·array | 4809 | /Encoding·256·array |
4810 | 0·1·255·{1·index·exch·/.notdef·put}·for | 4810 | 0·1·255·{1·index·exch·/.notdef·put}·for |
4811 | dup·44·/comma·put | 4811 | dup·44·/comma·put |
4812 | dup·48·/zero·put | 4812 | dup·48·/zero·put |
4813 | dup·49·/one·put | 4813 | dup·49·/one·put |
4814 | dup·50·/two·put | 4814 | dup·50·/two·put |
4815 | dup·51·/three·put | ||
4815 | dup·5 | 4816 | dup·53·/five·put |
4816 | dup·58·/colon·put | 4817 | dup·58·/colon·put |
4817 | dup·7 | 4818 | dup·70·/F·put |
4818 | dup·97·/a·put | 4819 | dup·97·/a·put |
4820 | dup·98·/b·put | ||
4819 | dup·1 | 4821 | dup·101·/e·put |
4820 | dup·114·/r·put | 4822 | dup·114·/r·put |
4821 | dup·117·/u·put | 4823 | dup·117·/u·put |
4822 | dup·121·/y·put | 4824 | dup·121·/y·put |
4823 | readonly·def | 4825 | readonly·def |
4824 | currentdict·end | 4826 | currentdict·end |
4825 | currentfile·eexec | 4827 | currentfile·eexec |
4826 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 4828 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 5004, 83 lines modified | Offset 5006, 94 lines modified | ||
5004 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 5006 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
5005 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 5007 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
5006 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 5008 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
5007 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 5009 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
5008 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 5010 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
5009 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 5011 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
5010 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 5012 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
5011 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 5013 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
5012 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
5013 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
5014 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
5015 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
5016 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
5017 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
5018 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
5019 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
5020 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
5021 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
5022 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
5023 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
5024 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
5025 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
5026 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
5027 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
5028 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
5029 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
5030 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
5031 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
5032 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
5033 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
5034 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
5035 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
5036 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
5037 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
5038 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
5039 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
5040 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
5041 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
5042 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
5043 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
5044 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
5045 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
5046 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
5047 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
5048 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
5049 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
5050 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
5051 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
5052 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
5053 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
5054 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
5055 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
5056 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
5057 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
5058 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
5059 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
5060 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
5061 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
5062 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
5063 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
5064 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
5065 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
5066 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
5067 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
5068 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
5069 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
5070 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
5071 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
5072 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
5073 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
5074 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
5075 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
5076 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
5077 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
5078 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
5079 | 5014 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
5015 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
5016 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
5017 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
5018 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
5019 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
5020 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
5021 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
5022 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
5023 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
5024 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
5025 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
5026 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
5027 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 52800/64354 bytes (82.05%) of diff not shown. |
Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
1 | ····························The·Reference·Manual·for·SPOOLES,·Release·2.2:\xd | 1 | ····························The·Reference·Manual·for·SPOOLES,·Release·2.2:\xd |
2 | ·······························An·Object·Oriented·Software·Library·for·Solving\xd | 2 | ·······························An·Object·Oriented·Software·Library·for·Solving\xd |
3 | ·········································Sparse·Linear·Systems·of·Equations\xd | 3 | ·········································Sparse·Linear·Systems·of·Equations\xd |
4 | ············································1······················2·······················3··················4\xd | 4 | ············································1······················2·······················3··················4\xd |
5 | ···························Cleve·Ashcraft··········Daniel·Pierce···········David·K.·Wah············Jason·Wu\xd | 5 | ···························Cleve·Ashcraft··········Daniel·Pierce···········David·K.·Wah············Jason·Wu\xd |
6 | ··························································· | 6 | ···························································February·13,·2025\xd |
7 | ···················1Boeing·Shared·Services·Group,·P.·O.·Box·24346,·Mail·Stop·7L-22,·Seattle,·Washington·98124,\xd | 7 | ···················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\xd | 8 | ·················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.\xd | 9 | ·················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,\xd | 10 | ···················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-\xd | 11 | ·················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\xd | 12 | ·················95-C-0122·and·the·DoD·High·Performance·Computing·Modernization·Program·Common·HPC·Software·Support\xd |
13 | ·················Initiative.\xd | 13 | ·················Initiative.\xd |
Offset 68, 15 lines modified | Offset 68, 15 lines modified | ||
68 | ·······················3.2···Prototypes·and·descriptions·of·Coords·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············34\xd | 68 | ·······················3.2···Prototypes·and·descriptions·of·Coords·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.············34\xd |
69 | ·····························3.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········34\xd | 69 | ·····························3.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········34\xd |
70 | ·····························3.2.2···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······35\xd | 70 | ·····························3.2.2···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······35\xd |
71 | ·····························3.2.3···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······36\xd | 71 | ·····························3.2.3···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······36\xd |
72 | ·····························3.2.4···IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······36\xd | 72 | ·····························3.2.4···IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······36\xd |
73 | ·······················3.3···Driver·programs·for·the·Coords·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········37\xd | 73 | ·······················3.3···Driver·programs·for·the·Coords·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········37\xd |
74 | ···············································································2\xd | 74 | ···············································································2\xd |
75 | ····························································SPOOLES·2.2:··········· | 75 | ····························································SPOOLES·2.2·:···········February·13,·2025·······································3\xd |
76 | ···················4·DV:·Double·Vector·Object·····························································································39\xd | 76 | ···················4·DV:·Double·Vector·Object·····························································································39\xd |
77 | ·······················4.1···Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······39\xd | 77 | ·······················4.1···Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······39\xd |
78 | ·······················4.2···Prototypes·and·descriptions·of·DV·methods··········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···40\xd | 78 | ·······················4.2···Prototypes·and·descriptions·of·DV·methods··········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···40\xd |
79 | ·····························4.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········40\xd | 79 | ·····························4.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········40\xd |
80 | ·····························4.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······40\xd | 80 | ·····························4.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······40\xd |
81 | ·····························4.2.3···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······41\xd | 81 | ·····························4.2.3···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······41\xd |
82 | ·····························4.2.4···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······42\xd | 82 | ·····························4.2.4···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······42\xd |
Offset 109, 15 lines modified | Offset 109, 15 lines modified | ||
109 | ·······················8.2···Prototypes·and·descriptions·of·IV·methods··········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···57\xd | 109 | ·······················8.2···Prototypes·and·descriptions·of·IV·methods··········.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···57\xd |
110 | ·····························8.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········57\xd | 110 | ·····························8.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········57\xd |
111 | ·····························8.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······57\xd | 111 | ·····························8.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······57\xd |
112 | ·····························8.2.3···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······58\xd | 112 | ·····························8.2.3···Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······58\xd |
113 | ·····························8.2.4···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······59\xd | 113 | ·····························8.2.4···Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.······59\xd |
114 | ·····························8.2.5···IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······61\xd | 114 | ·····························8.2.5···IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······61\xd |
115 | ·······················8.3···Driver·programs·for·the·IV·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········63\xd | 115 | ·······················8.3···Driver·programs·for·the·IV·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········63\xd |
116 | ···················4········································· | 116 | ···················4·········································SPOOLES·2.2:·February·13,·2025\xd |
117 | ···················9·IVL:·Integer·Vector·List·Object······················································································64\xd | 117 | ···················9·IVL:·Integer·Vector·List·Object······················································································64\xd |
118 | ·······················9.1···Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······64\xd | 118 | ·······················9.1···Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······64\xd |
119 | ·······················9.2···Prototypes·and·descriptions·of·IVL·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···········65\xd | 119 | ·······················9.2···Prototypes·and·descriptions·of·IVL·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···········65\xd |
120 | ·····························9.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········65\xd | 120 | ·····························9.2.1···Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········65\xd |
121 | ·····························9.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······66\xd | 121 | ·····························9.2.2···Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······66\xd |
122 | ·····························9.2.3···Initialization·and·resizing·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········66\xd | 122 | ·····························9.2.3···Initialization·and·resizing·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.········66\xd |
123 | ·····························9.2.4···List·manipulation·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········67\xd | 123 | ·····························9.2.4···List·manipulation·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········67\xd |
Offset 149, 15 lines modified | Offset 149, 15 lines modified | ||
149 | ·······················13.1·Data·Structures·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······81\xd | 149 | ·······················13.1·Data·Structures·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·······81\xd |
150 | ·······················13.2·Prototypes·and·descriptions·of·Utilities·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············81\xd | 150 | ·······················13.2·Prototypes·and·descriptions·of·Utilities·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············81\xd |
151 | ·····························13.2.1·CV·:·char·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········82\xd | 151 | ·····························13.2.1·CV·:·char·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········82\xd |
152 | ·····························13.2.2·DV·:·double·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········82\xd | 152 | ·····························13.2.2·DV·:·double·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··········82\xd |
153 | ·····························13.2.3·ZV·:·double·complex·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············88\xd | 153 | ·····························13.2.3·ZV·:·double·complex·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.··············88\xd |
154 | ·····························13.2.4·IV·:·int·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········94\xd | 154 | ·····························13.2.4·IV·:·int·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········94\xd |
155 | ·····························13.2.5·FV·:·float·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········96\xd | 155 | ·····························13.2.5·FV·:·float·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·········96\xd |
156 | ······················································· | 156 | ·······················································SPOOLES·2.2·:·········February·13,·2025···································5\xd |
157 | ···························13.2.6·PCV·:·char·*·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···99\xd | 157 | ···························13.2.6·PCV·:·char·*·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···99\xd |
158 | ···························13.2.7·PDV·:·double·*·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···99\xd | 158 | ···························13.2.7·PDV·:·double·*·vector·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.···99\xd |
159 | ···························13.2.8·PFV·:·float·*·vector·methods·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·100\xd | 159 | ···························13.2.8·PFV·:·float·*·vector·methods·······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·100\xd |
160 | ···························13.2.9·Sorting·routines····.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·100\xd | 160 | ···························13.2.9·Sorting·routines····.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·100\xd |
161 | ···························13.2.10Sort·and·compress·routines·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·102\xd | 161 | ···························13.2.10Sort·and·compress·routines·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·102\xd |
162 | ···························13.2.11IP·:·(int,·pointer)·singly·linked-list·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·103\xd | 162 | ···························13.2.11IP·:·(int,·pointer)·singly·linked-list·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·103\xd |
163 | ···························13.2.12I2OP·:·(int,·int,·void*,·pointer)·singly·linked-list·methods·.·.·.·.·.·.·.·.·.·.·.·.·104\xd | 163 | ···························13.2.12I2OP·:·(int,·int,·void*,·pointer)·singly·linked-list·methods·.·.·.·.·.·.·.·.·.·.·.·.·104\xd |
Offset 186, 15 lines modified | Offset 186, 15 lines modified | ||
186 | ···························16.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·121\xd | 186 | ···························16.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·121\xd |
187 | ···························16.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd | 187 | ···························16.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd |
188 | ···························16.2.3·Generate·induced·graphs······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd | 188 | ···························16.2.3·Generate·induced·graphs······.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd |
189 | ···························16.2.4·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd | 189 | ···························16.2.4·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·122\xd |
190 | ···························16.2.5·Dulmage-Mendelsohn·decomposition·method·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·123\xd | 190 | ···························16.2.5·Dulmage-Mendelsohn·decomposition·method·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·123\xd |
191 | ···························16.2.6·IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·123\xd | 191 | ···························16.2.6·IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·123\xd |
192 | ·····················16.3·Driver·programs·for·the·BPG·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·124\xd | 192 | ·····················16.3·Driver·programs·for·the·BPG·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·124\xd |
193 | ················6·································· | 193 | ················6··································SPOOLES·2.2:·February·13,·2025\xd |
194 | ················17·DSTree:\xd | 194 | ················17·DSTree:\xd |
195 | ···················ADomain/Separator·Tree·Object··································································126\xd | 195 | ···················ADomain/Separator·Tree·Object··································································126\xd |
196 | ···················17.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·126\xd | 196 | ···················17.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·126\xd |
197 | ···················17.2·Prototypes·and·descriptions·of·DSTree·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·126\xd | 197 | ···················17.2·Prototypes·and·descriptions·of·DSTree·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·126\xd |
198 | ························17.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd | 198 | ························17.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd |
199 | ························17.2.2·Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd | 199 | ························17.2.2·Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd |
200 | ························17.2.3·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd | 200 | ························17.2.3·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·127\xd |
Offset 226, 15 lines modified | Offset 226, 15 lines modified | ||
226 | ························19.2.11Parallel·factorization·map·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·148\xd | 226 | ························19.2.11Parallel·factorization·map·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·148\xd |
227 | ························19.2.12Storage·profile·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·149\xd | 227 | ························19.2.12Storage·profile·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·149\xd |
228 | ························19.2.13IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·150\xd | 228 | ························19.2.13IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·150\xd |
229 | ···················19.3·Driver·programs·for·the·ETree·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·151\xd | 229 | ···················19.3·Driver·programs·for·the·ETree·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·151\xd |
230 | ················20·GPart:·Graph·Partitioning·Object·······························································162\xd | 230 | ················20·GPart:·Graph·Partitioning·Object·······························································162\xd |
231 | ···················20.1·Data·Structures·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·163\xd | 231 | ···················20.1·Data·Structures·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·163\xd |
232 | ···················20.2·Prototypes·and·descriptions·of·GPart·methods···.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·164\xd | 232 | ···················20.2·Prototypes·and·descriptions·of·GPart·methods···.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·164\xd |
233 | ···················································· | 233 | ····················································SPOOLES·2.2·:········February·13,·2025·······························7\xd |
234 | ·························20.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·164\xd | 234 | ·························20.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·164\xd |
235 | ·························20.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·165\xd | 235 | ·························20.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·165\xd |
236 | ·························20.2.3·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·165\xd | 236 | ·························20.2.3·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·165\xd |
237 | ·························20.2.4·Domain·decomposition·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·166\xd | 237 | ·························20.2.4·Domain·decomposition·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·166\xd |
238 | ·························20.2.5·Methods·to·generate·a·2-set·partition··.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·167\xd | 238 | ·························20.2.5·Methods·to·generate·a·2-set·partition··.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·167\xd |
239 | ·························20.2.6·Methods·to·improve·a·2-set·partition·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·167\xd | 239 | ·························20.2.6·Methods·to·improve·a·2-set·partition·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·167\xd |
240 | ·························20.2.7·Recursive·Bisection·method·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·169\xd | 240 | ·························20.2.7·Recursive·Bisection·method·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·169\xd |
Offset 264, 15 lines modified | Offset 264, 15 lines modified | ||
264 | ·························22.3.1·Basic·methods·—·public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·189\xd | 264 | ·························22.3.1·Basic·methods·—·public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·189\xd |
265 | ·························22.3.2·Initialization·methods·—·public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd | 265 | ·························22.3.2·Initialization·methods·—·public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd |
266 | ·························22.3.3·Ordering·methods·—·public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd | 266 | ·························22.3.3·Ordering·methods·—·public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd |
267 | ·························22.3.4·Extraction·methods·—·public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd | 267 | ·························22.3.4·Extraction·methods·—·public·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·190\xd |
268 | ·························22.3.5·Internal·methods·—·private·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·191\xd | 268 | ·························22.3.5·Internal·methods·—·private·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·191\xd |
269 | ····················22.4·Prototypes·and·descriptions·of·MSMDvtx·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·192\xd | 269 | ····················22.4·Prototypes·and·descriptions·of·MSMDvtx·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·192\xd |
270 | ····················22.5·Driver·programs·for·the·MSMD·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·192\xd | 270 | ····················22.5·Driver·programs·for·the·MSMD·object·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·192\xd |
271 | ················8··································SPOOLES·2.2 | 271 | ················8··································SPOOLES·2.2:·February·13,·2025\xd |
272 | ················23·Network:·Simple·Max-flow·solver································································195\xd | 272 | ················23·Network:·Simple·Max-flow·solver································································195\xd |
273 | ···················23.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·196\xd | 273 | ···················23.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·196\xd |
274 | ···················23.2·Prototypes·and·descriptions·of·Network·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·197\xd | 274 | ···················23.2·Prototypes·and·descriptions·of·Network·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·197\xd |
275 | ························23.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·197\xd | 275 | ························23.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·197\xd |
276 | ························23.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·198\xd | 276 | ························23.2.2·Initializer·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·198\xd |
277 | ························23.2.3·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·198\xd | 277 | ························23.2.3·Utility·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·198\xd |
278 | ························23.2.4·IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·199\xd | 278 | ························23.2.4·IO·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·199\xd |
Offset 303, 15 lines modified | Offset 303, 15 lines modified | ||
303 | ················IV·Numeric·Objects·and·Methods···································································216\xd | 303 | ················IV·Numeric·Objects·and·Methods···································································216\xd |
304 | ················26·Chv:·Block·chevron············································································217\xd | 304 | ················26·Chv:·Block·chevron············································································217\xd |
305 | ···················26.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·219\xd | 305 | ···················26.1·Data·Structure·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·219\xd |
306 | ···················26.2·Prototypes·and·descriptions·of·Chv·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·219\xd | 306 | ···················26.2·Prototypes·and·descriptions·of·Chv·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·219\xd |
307 | ························26.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·220\xd | 307 | ························26.2.1·Basic·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·220\xd |
308 | ························26.2.2·Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·220\xd | 308 | ························26.2.2·Instance·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·220\xd |
309 | ························26.2.3·Initialization·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·222\xd | 309 | ························26.2.3·Initialization·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·222\xd |
310 | ··················································SPOOLES·2.2 | 310 | ··················································SPOOLES·2.2·:······February·13,·2025······························9\xd |
311 | ························26.2.4·Search·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·223\xd | 311 | ························26.2.4·Search·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·223\xd |
312 | ························26.2.5·Pivot·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·224\xd | 312 | ························26.2.5·Pivot·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·224\xd |
313 | ························26.2.6·Update·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·224\xd | 313 | ························26.2.6·Update·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·224\xd |
314 | ························26.2.7·Assembly·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·225\xd | 314 | ························26.2.7·Assembly·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·225\xd |
315 | ························26.2.8·Factorization·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·225\xd | 315 | ························26.2.8·Factorization·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·225\xd |
316 | ························26.2.9·Copy·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·226\xd | 316 | ························26.2.9·Copy·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·226\xd |
317 | ························26.2.10Swap·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·228\xd | 317 | ························26.2.10Swap·methods·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·228\xd |
Offset 343, 15 lines modified | Offset 343, 15 lines modified | ||
343 | ················30·FrontMtx:·Front·matrix········································································250\xd | 343 | ················30·FrontMtx:·Front·matrix········································································250\xd |
Max diff block lines reached; 7862/24305 bytes (32.35%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·SemiImplMtx.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·SemiImplMtx.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1201, 19 lines modified | Offset 1201, 21 lines modified | ||
1201 | end·readonly·def | 1201 | end·readonly·def |
1202 | /Encoding·256·array | 1202 | /Encoding·256·array |
1203 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1203 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1204 | dup·44·/comma·put | 1204 | dup·44·/comma·put |
1205 | dup·48·/zero·put | 1205 | dup·48·/zero·put |
1206 | dup·49·/one·put | 1206 | dup·49·/one·put |
1207 | dup·50·/two·put | 1207 | dup·50·/two·put |
1208 | dup·51·/three·put | ||
1208 | dup·5 | 1209 | dup·53·/five·put |
1209 | dup·58·/colon·put | 1210 | dup·58·/colon·put |
1210 | dup·7 | 1211 | dup·70·/F·put |
1211 | dup·97·/a·put | 1212 | dup·97·/a·put |
1213 | dup·98·/b·put | ||
1212 | dup·1 | 1214 | dup·101·/e·put |
1213 | dup·114·/r·put | 1215 | dup·114·/r·put |
1214 | dup·117·/u·put | 1216 | dup·117·/u·put |
1215 | dup·121·/y·put | 1217 | dup·121·/y·put |
1216 | readonly·def | 1218 | readonly·def |
1217 | currentdict·end | 1219 | currentdict·end |
1218 | currentfile·eexec | 1220 | currentfile·eexec |
1219 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1221 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1397, 83 lines modified | Offset 1399, 94 lines modified | ||
1397 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1399 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1398 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1400 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1399 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1401 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1400 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1402 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1401 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1403 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1402 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1404 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1403 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1405 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1404 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1406 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1405 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1406 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1407 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1408 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1409 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1410 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1411 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1412 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1413 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1414 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1415 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1416 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1417 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1418 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1419 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1420 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1421 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1422 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1423 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1424 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1425 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1426 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1427 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1428 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1429 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1430 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1431 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1432 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1433 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1434 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1435 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1436 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1437 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1438 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1439 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1440 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1441 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1442 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1443 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1444 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1445 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1446 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1447 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1448 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1449 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1450 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1451 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1452 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1453 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1454 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1455 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1456 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1457 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1458 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1459 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1460 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1461 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1462 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1463 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1464 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1465 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1466 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1467 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1468 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1469 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1470 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1471 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1472 | 1407 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1408 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1409 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1410 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1411 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1412 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1413 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1414 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1415 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1416 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1417 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1418 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1419 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1420 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 8157/19707 bytes (41.39%) of diff not shown. |
Offset 51, 15 lines modified | Offset 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\xd | 51 | ·····················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\xd | 52 | ··············································································································································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\xd | 53 | ·····················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\xd | 54 | ··············································································2,1··········1,2\xd |
55 | ·····················|L····|·+·|U·····|·−·2|D·····|·−·|A····|·−·|A·····|,·where·|···|·denotes·the·number·of·nonzeroes·in·a·matrix.\xd | 55 | ·····················|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\xd | 56 | ························2,1·······1,2··········1,1·······2,1········1,2\xd |
57 | ·························································································1\xd | 57 | ·························································································1\xd |
58 | ················2·································SemiImplMtx·:·DRAFT· | 58 | ················2·································SemiImplMtx·:·DRAFT·February·13,·2025\xd |
59 | ················1.1······Data·Structure\xd | 59 | ················1.1······Data·Structure\xd |
60 | ················The·SemiImplMtx·structure·has·the·following·fields.\xd | 60 | ················The·SemiImplMtx·structure·has·the·following·fields.\xd |
61 | ····················•·int·neqns·:·number·of·equations.\xd | 61 | ····················•·int·neqns·:·number·of·equations.\xd |
62 | ····················•·int·type·:·type·of·entries,·SPOOLES·REAL·or·SPOOLES·COMPLEX.\xd | 62 | ····················•·int·type·:·type·of·entries,·SPOOLES·REAL·or·SPOOLES·COMPLEX.\xd |
63 | ····················•·int·symmetryflag:·typeofmatrixsymmetry,SPOOLES·SYMMETRIC,SPOOLES·HERMITIANorSPOOLES·NONSYMMETRIC.\xd | 63 | ····················•·int·symmetryflag:·typeofmatrixsymmetry,SPOOLES·SYMMETRIC,SPOOLES·HERMITIANorSPOOLES·NONSYMMETRIC.\xd |
64 | ····················•·int·ndomeqns·:·number·of·equations·in·the·domains,·or·(1,1)·block.\xd | 64 | ····················•·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.\xd | 65 | ····················•·int·nschureqns·:·number·of·equations·in·the·Schur·complement,·or·(2,2)·block.\xd |
Offset 95, 15 lines modified | Offset 95, 15 lines modified | ||
95 | ······················Thismethodsetsthestructure’sfieldstodefaultvalues:·neqns=0,type=SPOOLES·REAL,symmetryflag\xd | 95 | ······················Thismethodsetsthestructure’sfieldstodefaultvalues:·neqns=0,type=SPOOLES·REAL,symmetryflag\xd |
96 | ······················=SPOOLES·SYMMETRIC,ndomeqns=nschureqns=0,anddomainMtx,schurMtx,A21,A12,domRowsIV,\xd | 96 | ······················=SPOOLES·SYMMETRIC,ndomeqns=nschureqns=0,anddomainMtx,schurMtx,A21,A12,domRowsIV,\xd |
97 | ······················schurRowsIV,·domColumnsIV·and·schurColumnsIV·are·all·set·to·NULL.\xd | 97 | ······················schurRowsIV,·domColumnsIV·and·schurColumnsIV·are·all·set·to·NULL.\xd |
98 | ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd | 98 | ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd |
99 | ···················3.·int·SemiImplMtx_clearData·(·SemiImplMtx·*mtx·)·;\xd | 99 | ···················3.·int·SemiImplMtx_clearData·(·SemiImplMtx·*mtx·)·;\xd |
100 | ······················This·method·releases·all·storage·held·by·the·object.\xd | 100 | ······················This·method·releases·all·storage·held·by·the·object.\xd |
101 | ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd | 101 | ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd |
102 | ················································SemiImplMtx·:·DRAFT······ | 102 | ················································SemiImplMtx·:·DRAFT······February·13,·2025····························3\xd |
103 | ···················4.·int·SemiImplMtx_free·(·SemiImplMtx·*mtx·)·;\xd | 103 | ···················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\xd | 104 | ······················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.\xd | 105 | ······················the·storage·for·the·object.\xd |
106 | ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd | 106 | ······················Return·codes:·1·means·a·normal·return,·-1·means·mtx·is·NULL.\xd |
107 | ················1.2.2····Initialization·Methods\xd | 107 | ················1.2.2····Initialization·Methods\xd |
108 | ···················1.·int·SemiImplMtx_initFromFrontMtx·(·SemiImplMtx·*semimtx,·FrontMtx·*frontmtx,\xd | 108 | ···················1.·int·SemiImplMtx_initFromFrontMtx·(·SemiImplMtx·*semimtx,·FrontMtx·*frontmtx,\xd |
109 | ········································InpMtx·*inpmtx,·IV·*frontmapIV,·int·msglvl,·FILE·*msgFile)·;\xd | 109 | ········································InpMtx·*inpmtx,·IV·*frontmapIV,·int·msglvl,·FILE·*msgFile)·;\xd |
Offset 140, 15 lines modified | Offset 140, 15 lines modified | ||
140 | ················1.2.3····Solve·Methods\xd | 140 | ················1.2.3····Solve·Methods\xd |
141 | ···················1.·int·SemiImplMtx_solve·(·SemiImplMtx·*mtx,·DenseMtx·*X,·DenseMtx·*B,\xd | 141 | ···················1.·int·SemiImplMtx_solve·(·SemiImplMtx·*mtx,·DenseMtx·*X,·DenseMtx·*B,\xd |
142 | ································SubMtxManager·*mtxmanager,·double·cpus[],·int·msglvl,·FILE·*msgFile·)·;\xd | 142 | ································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·+\xd | 143 | ······················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\xd | 144 | ······················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\xd | 145 | ······················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.\xd | 146 | ······················are·read·from·B·and·written·to·X.·On·return,·the·cpus[]·vector·contains·the·following·information.\xd |
147 | ··············4····························SemiImplMtx·:·DRAFT· | 147 | ··············4····························SemiImplMtx·:·DRAFT·February·13,·2025\xd |
148 | ·······················cpus[0]··initialize·working·matrices···cpus[5]···compute·domains’·right·hand·side\xd | 148 | ·······················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\xd | 149 | ·······················cpus[1]··load·right·hand·side··········cpus[6]···second·solve·with·domains\xd |
150 | ·······················cpus[2]··first·solve·with·domains·······cpus[7]···store·solution\xd | 150 | ·······················cpus[2]··first·solve·with·domains·······cpus[7]···store·solution\xd |
151 | ·······················cpus[3]··compute·Schur·right·hand·side·cpus[8]···miscellaneous·time\xd | 151 | ·······················cpus[3]··compute·Schur·right·hand·side·cpus[8]···miscellaneous·time\xd |
152 | ·······················cpus[4]··Schur·solve···················cpus[9]···total·time\xd | 152 | ·······················cpus[4]··Schur·solve···················cpus[9]···total·time\xd |
153 | ···················Return·codes:\xd | 153 | ···················Return·codes:\xd |
154 | ··········································1··normal·return···-3··B·is·NULL\xd | 154 | ··········································1··normal·return···-3··B·is·NULL\xd |
Offset 181, 15 lines modified | Offset 181, 15 lines modified | ||
181 | ··············This·section·contains·brief·descriptions·of·the·driver·programs.\xd | 181 | ··············This·section·contains·brief·descriptions·of·the·driver·programs.\xd |
182 | ·················1.·testGrid·msglvl·msgFile·n1·n2·n3·maxzeros·maxsize·seed·type·symmetryflag\xd | 182 | ·················1.·testGrid·msglvl·msgFile·n1·n2·n3·maxzeros·maxsize·seed·type·symmetryflag\xd |
183 | ····························sparsityflag·pivotingflag·tau·droptol·nrhs·depth\xd | 183 | ····························sparsityflag·pivotingflag·tau·droptol·nrhs·depth\xd |
184 | ···················This·driver·program·tests·the·SemiImplMtx·creation·and·solve·methods·for·a·matrix·from·a·regular\xd | 184 | ···················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\xd | 185 | ···················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.\xd | 186 | ···················system·AX·=B·is·solved·as·follows.\xd |
187 | ·····················•·First·A·is·factored,·and·a·FrontMtx·object·is·created·to·hold·the·factorization.\xd | 187 | ·····················•·First·A·is·factored,·and·a·FrontMtx·object·is·created·to·hold·the·factorization.\xd |
188 | ········································SemiImplMtx·:·DRAFT·· | 188 | ········································SemiImplMtx·:·DRAFT··February·13,·2025····················5\xd |
189 | ····················•·The·system·is·solved·using·the·FrontMtx·object.\xd | 189 | ····················•·The·system·is·solved·using·the·FrontMtx·object.\xd |
190 | ····················•·A·SemiImplMtx·matrix·object·is·constructed·from·the·FrontMtx·object·and·A.\xd | 190 | ····················•·A·SemiImplMtx·matrix·object·is·constructed·from·the·FrontMtx·object·and·A.\xd |
191 | ····················•·The·system·is·solved·using·the·SemiImplMtx·object.\xd | 191 | ····················•·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-\xd | 192 | ··················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.\xd | 193 | ··················cesses.·Use·the·do·grid·shell·script·for·testing.\xd |
194 | ····················•·The·msglvl·parameter·determines·the·amount·of·output.\xd | 194 | ····················•·The·msglvl·parameter·determines·the·amount·of·output.\xd |
195 | ····················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the·message\xd | 195 | ····················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the·message\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·SolveMap.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·SolveMap.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1440, 19 lines modified | Offset 1440, 21 lines modified | ||
1440 | end·readonly·def | 1440 | end·readonly·def |
1441 | /Encoding·256·array | 1441 | /Encoding·256·array |
1442 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1442 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1443 | dup·44·/comma·put | 1443 | dup·44·/comma·put |
1444 | dup·48·/zero·put | 1444 | dup·48·/zero·put |
1445 | dup·49·/one·put | 1445 | dup·49·/one·put |
1446 | dup·50·/two·put | 1446 | dup·50·/two·put |
1447 | dup·51·/three·put | ||
1447 | dup·5 | 1448 | dup·53·/five·put |
1448 | dup·58·/colon·put | 1449 | dup·58·/colon·put |
1449 | dup·7 | 1450 | dup·70·/F·put |
1450 | dup·97·/a·put | 1451 | dup·97·/a·put |
1452 | dup·98·/b·put | ||
1451 | dup·1 | 1453 | dup·101·/e·put |
1452 | dup·114·/r·put | 1454 | dup·114·/r·put |
1453 | dup·117·/u·put | 1455 | dup·117·/u·put |
1454 | dup·121·/y·put | 1456 | dup·121·/y·put |
1455 | readonly·def | 1457 | readonly·def |
1456 | currentdict·end | 1458 | currentdict·end |
1457 | currentfile·eexec | 1459 | currentfile·eexec |
1458 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1460 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1636, 83 lines modified | Offset 1638, 94 lines modified | ||
1636 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1638 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1637 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1639 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1638 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1640 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1639 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1641 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1640 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1642 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1641 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1643 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1642 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1644 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1643 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1645 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1644 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1645 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1646 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1647 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1648 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1649 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1650 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1651 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1652 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1653 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1654 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1655 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1656 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1657 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1658 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1659 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1660 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1661 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1662 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1663 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1664 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1665 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1666 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1667 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1668 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1669 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1670 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1671 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1672 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1673 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1674 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1675 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1676 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1677 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1678 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1679 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1680 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1681 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1682 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1683 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1684 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1685 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1686 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1687 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1688 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1689 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1690 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1691 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1692 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1693 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1694 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1695 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1696 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1697 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1698 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1699 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1700 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1701 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1702 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1703 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1704 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1705 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1706 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1707 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1708 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1709 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1710 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1711 | 1646 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1647 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1648 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1649 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1650 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1651 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1652 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1653 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1654 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1655 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1656 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1657 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1658 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1659 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 17480/29027 bytes (60.22%) of diff not shown. |
Offset 19, 15 lines modified | Offset 19, 15 lines modified | ||
19 | ················•·int·nproc·–·number·of·threads·or·processes\xd | 19 | ················•·int·nproc·–·number·of·threads·or·processes\xd |
20 | ················•·int·*owners·–·vector·mapping·fronts·to·owning·threads·or·processes\xd | 20 | ················•·int·*owners·–·vector·mapping·fronts·to·owning·threads·or·processes\xd |
21 | ················•·int·nblockUpper·–·number·of·submatrices·in·the·upper·triangle\xd | 21 | ················•·int·nblockUpper·–·number·of·submatrices·in·the·upper·triangle\xd |
22 | ················•·int·*rowidsUpper·–·vector·of·row·ids·for·the·upper·triangle\xd | 22 | ················•·int·*rowidsUpper·–·vector·of·row·ids·for·the·upper·triangle\xd |
23 | ················•·int·*colidsUpper·–·vector·of·column·ids·for·the·upper·triangle\xd | 23 | ················•·int·*colidsUpper·–·vector·of·column·ids·for·the·upper·triangle\xd |
24 | ················•·int·*mapUpper·–·map·from·submatrices·to·threads·or·processes\xd | 24 | ················•·int·*mapUpper·–·map·from·submatrices·to·threads·or·processes\xd |
25 | ·······················································1\xd | 25 | ·······················································1\xd |
26 | ··············2··························SolveMap·:·DRAFT· | 26 | ··············2··························SolveMap·:·DRAFT·February·13,·2025\xd |
27 | ·················•·int·nblockLower·–·number·of·submatrices·in·the·lower·triangle\xd | 27 | ·················•·int·nblockLower·–·number·of·submatrices·in·the·lower·triangle\xd |
28 | ·················•·int·*rowidsLower·–·vector·of·row·ids·for·the·lower·triangle\xd | 28 | ·················•·int·*rowidsLower·–·vector·of·row·ids·for·the·lower·triangle\xd |
29 | ·················•·int·*colidsLower·–·vector·of·column·ids·for·the·lower·triangle\xd | 29 | ·················•·int·*colidsLower·–·vector·of·column·ids·for·the·lower·triangle\xd |
30 | ·················•·int·*mapLower·–·map·from·submatrices·to·threads·or·processes·processes\xd | 30 | ·················•·int·*mapLower·–·map·from·submatrices·to·threads·or·processes·processes\xd |
31 | ··············1.2···Prototypes·and·descriptions·of·SolveMap·methods\xd | 31 | ··············1.2···Prototypes·and·descriptions·of·SolveMap·methods\xd |
32 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 32 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
33 | ··············SolveMap·object.\xd | 33 | ··············SolveMap·object.\xd |
Offset 50, 15 lines modified | Offset 50, 15 lines modified | ||
50 | ···················This·method·releases·any·storage·by·a·call·to·SolveMap·clearData()·then·free’s·the·storage\xd | 50 | ···················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().\xd | 51 | ···················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.\xd | 52 | ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
53 | ··············1.2.2··Instance·methods\xd | 53 | ··············1.2.2··Instance·methods\xd |
54 | ················1.·int·SolveMap_symmetryflag·(·SolveMap·*solvemap·)·;\xd | 54 | ················1.·int·SolveMap_symmetryflag·(·SolveMap·*solvemap·)·;\xd |
55 | ···················This·method·returns·symmetryflag,·the·symmetry·flag.\xd | 55 | ···················This·method·returns·symmetryflag,·the·symmetry·flag.\xd |
56 | ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 56 | ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
57 | ···································· | 57 | ····································SolveMap·:·DRAFT···February·13,·2025·················3\xd |
58 | ···············2.·int·SolveMap_nfront·(·SolveMap·*solvemap·)·;\xd | 58 | ···············2.·int·SolveMap_nfront·(·SolveMap·*solvemap·)·;\xd |
59 | ·················This·method·returns·nfront,·the·number·of·fronts.\xd | 59 | ·················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.\xd | 60 | ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
61 | ···············3.·int·SolveMap_nproc·(·SolveMap·*solvemap·)·;\xd | 61 | ···············3.·int·SolveMap_nproc·(·SolveMap·*solvemap·)·;\xd |
62 | ·················This·method·returns·nproc,·the·number·of·threads·or·processes.\xd | 62 | ·················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.\xd | 63 | ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
64 | ···············4.·int·SolveMap_nblockUpper·(·SolveMap·*solvemap·)·;\xd | 64 | ···············4.·int·SolveMap_nblockUpper·(·SolveMap·*solvemap·)·;\xd |
Offset 84, 15 lines modified | Offset 84, 15 lines modified | ||
84 | ·················This·method·returns·mapUpper,·a·pointer·to·the·vector·that·maps·the·submatrices·in·the\xd | 84 | ·················This·method·returns·mapUpper,·a·pointer·to·the·vector·that·maps·the·submatrices·in·the\xd |
85 | ·················upper·triangle·to·threads·or·processes.\xd | 85 | ·················upper·triangle·to·threads·or·processes.\xd |
86 | ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 86 | ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
87 | ··············10.·int·*·SolveMap_rowidsLower·(·SolveMap·*solvemap·)·;\xd | 87 | ··············10.·int·*·SolveMap_rowidsLower·(·SolveMap·*solvemap·)·;\xd |
88 | ·················This·method·returns·rowidsLower,·a·pointer·to·the·vector·of·row·ids·of·the·submatrices·in\xd | 88 | ·················This·method·returns·rowidsLower,·a·pointer·to·the·vector·of·row·ids·of·the·submatrices·in\xd |
89 | ·················the·lower·triangle.\xd | 89 | ·················the·lower·triangle.\xd |
90 | ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 90 | ·················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
91 | ··············4··························SolveMap·:·DRAFT· | 91 | ··············4··························SolveMap·:·DRAFT·February·13,·2025\xd |
92 | ···············11.·int·*·SolveMap_colidsLower·(·SolveMap·*solvemap·)·;\xd | 92 | ···············11.·int·*·SolveMap_colidsLower·(·SolveMap·*solvemap·)·;\xd |
93 | ···················This·method·returns·colidsLower,·a·pointer·to·the·vector·of·column·ids·of·the·submatrices\xd | 93 | ···················This·method·returns·colidsLower,·a·pointer·to·the·vector·of·column·ids·of·the·submatrices\xd |
94 | ···················in·the·upper·triangle.\xd | 94 | ···················in·the·upper·triangle.\xd |
95 | ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 95 | ···················Error·checking:·If·solvemap·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
96 | ···············12.·int·*·SolveMap_mapLower·(·SolveMap·*solvemap·)·;\xd | 96 | ···············12.·int·*·SolveMap_mapLower·(·SolveMap·*solvemap·)·;\xd |
97 | ···················This·method·returns·mapLower,·a·pointer·to·the·vector·that·maps·the·submatrices·in·the\xd | 97 | ···················This·method·returns·mapLower,·a·pointer·to·the·vector·that·maps·the·submatrices·in·the\xd |
98 | ···················upper·triangle·to·threads·or·processes.\xd | 98 | ···················upper·triangle·to·threads·or·processes.\xd |
Offset 118, 15 lines modified | Offset 118, 15 lines modified | ||
118 | ···················fashion.·A·domain·is·a·subtree·of·fronts·that·are·owned·by·the·same·thread·or·process.\xd | 118 | ···················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\xd | 119 | ···················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\xd | 120 | ···················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\xd | 121 | ···················the·thread·or·process·that·owns·the·domain.·All·other·submatrices·are·mapped·to·threads·or\xd |
122 | ···················processes·in·a·random·fashion.\xd | 122 | ···················processes·in·a·random·fashion.\xd |
123 | ···················Error·checking:·If·solvemap,·upperBlockIVL·or·ownersIV·is·NULL,·or·if·symmetryflag·is\xd | 123 | ···················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.\xd | 124 | ···················invalid,·an·error·message·is·printed·and·the·program·exits.\xd |
125 | ············································· | 125 | ·············································SolveMap·:·DRAFT·······February·13,·2025··························5\xd |
126 | ···············1.2.5····Solve·setup·methods\xd | 126 | ···············1.2.5····Solve·setup·methods\xd |
127 | ··················1.·IP·**·SolveMap_forwardSetup·(·SolveMap·*solvemap,·int·myid,\xd | 127 | ··················1.·IP·**·SolveMap_forwardSetup·(·SolveMap·*solvemap,·int·myid,\xd |
128 | ·························································int·msglvl,·FILE·*msgFile·)·;\xd | 128 | ·························································int·msglvl,·FILE·*msgFile·)·;\xd |
129 | ·····················IP·**·SolveMap_backwardSetup·(·SolveMap·*solvemap,·int·myid,\xd | 129 | ·····················IP·**·SolveMap_backwardSetup·(·SolveMap·*solvemap,·int·myid,\xd |
130 | ·························································int·msglvl,·FILE·*msgFile·)·;\xd | 130 | ·························································int·msglvl,·FILE·*msgFile·)·;\xd |
131 | ·····················ThesetwomethodsreturnavectorofpointerstoIPobjectsthatcontainthelistofsubmatrices\xd | 131 | ·····················ThesetwomethodsreturnavectorofpointerstoIPobjectsthatcontainthelistofsubmatrices\xd |
132 | ·····················that·thread·or·process·myid·will·use·during·the·forward·or·backward·solves.\xd | 132 | ·····················that·thread·or·process·myid·will·use·during·the·forward·or·backward·solves.\xd |
Offset 157, 15 lines modified | Offset 157, 15 lines modified | ||
157 | ·····················submatrices·process·myid·expects·for·front·J.\xd | 157 | ·····················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\xd | 158 | ·····················Error·checking:·If·solvemap·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the\xd |
159 | ·····················program·exits.\xd | 159 | ·····················program·exits.\xd |
160 | ··················5.·IV·*·SolveMap_lowerAggregateIV·(·SolveMap·*solvemap,·int·myid\xd | 160 | ··················5.·IV·*·SolveMap_lowerAggregateIV·(·SolveMap·*solvemap,·int·myid\xd |
161 | ··························································int·msglvl,·FILE·*msgFile·)·;\xd | 161 | ··························································int·msglvl,·FILE·*msgFile·)·;\xd |
162 | ·····················This·method·returns·an·IV·object·that·contains·the·aggregate·count·for·a·forward·solve.·If\xd | 162 | ·····················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\xd | 163 | ·····················myid·owns·front·J,·then·entry·J·of·the·returned·IV·object·contains·the·number·of·processes\xd |
164 | ···············6·····························SolveMap·:·DRAFT· | 164 | ···············6·····························SolveMap·:·DRAFT·February·13,·2025\xd |
165 | ····················(other·than·myid)·that·own·an·L···submatrix,·(or·U···submatrix·if·symmetric·or·hermitian)\xd | 165 | ····················(other·than·myid)·that·own·an·L···submatrix,·(or·U···submatrix·if·symmetric·or·hermitian)\xd |
166 | ···················································J,I················I,J\xd | 166 | ···················································J,I················I,J\xd |
167 | ····················and·so·is·the·number·of·incoming·aggregate·submatrices·process·myid·expects·for·front·J.\xd | 167 | ····················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\xd | 168 | ····················Error·checking:·If·solvemap·is·NULL·or·nlist·<·0·then·an·error·message·is·printed·and·the\xd |
169 | ····················program·exits.\xd | 169 | ····················program·exits.\xd |
170 | ···············1.2.7···IO·methods\xd | 170 | ···············1.2.7···IO·methods\xd |
171 | ···············TherearetheusualeightIOroutines.·ThefilestructureofaSolveMapobjectissimple:·symmetryflag,\xd | 171 | ···············TherearetheusualeightIOroutines.·ThefilestructureofaSolveMapobjectissimple:·symmetryflag,\xd |
Offset 194, 15 lines modified | Offset 194, 15 lines modified | ||
194 | ····················Error·checking:·If·solvemap·or·fn·are·NULL,·or·if·fn·is·not·of·the·form·*.solvemapf·(for·a\xd | 194 | ····················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\xd | 195 | ····················formatted·file)·or·*.solvemapb·(for·a·binary·file),·an·error·message·is·printed·and·the·method\xd |
196 | ····················returns·zero.\xd | 196 | ····················returns·zero.\xd |
197 | ··················5.·int·SolveMap_writeToFormattedFile·(·SolveMap·*solvemap,·FILE·*fp·)·;\xd | 197 | ··················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\xd | 198 | ····················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.\xd | 199 | ····················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.\xd | 200 | ····················Error·checking:·If·solvemap·or·fp·are·NULL·an·error·message·is·printed·and·zero·is·returned.\xd |
201 | ···································· | 201 | ····································SolveMap·:·DRAFT···February·13,·2025·················7\xd |
202 | ···············6.·int·SolveMap_writeToBinaryFile·(·SolveMap·*solvemap,·FILE·*fp·)·;\xd | 202 | ···············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\xd | 203 | ·················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.\xd | 204 | ·················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.\xd | 205 | ·················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·)·;\xd | 206 | ···············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\xd | 207 | ·················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\xd | 208 | ·················SolveMap·writeStats()·is·called·to·write·out·the·header·and·statistics.·The·value·1·is\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·SubMtx.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·SubMtx.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2120, 19 lines modified | Offset 2120, 21 lines modified | ||
2120 | end·readonly·def | 2120 | end·readonly·def |
2121 | /Encoding·256·array | 2121 | /Encoding·256·array |
2122 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2122 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2123 | dup·44·/comma·put | 2123 | dup·44·/comma·put |
2124 | dup·48·/zero·put | 2124 | dup·48·/zero·put |
2125 | dup·49·/one·put | 2125 | dup·49·/one·put |
2126 | dup·50·/two·put | 2126 | dup·50·/two·put |
2127 | dup·51·/three·put | ||
2127 | dup·5 | 2128 | dup·53·/five·put |
2128 | dup·58·/colon·put | 2129 | dup·58·/colon·put |
2129 | dup·7 | 2130 | dup·70·/F·put |
2130 | dup·97·/a·put | 2131 | dup·97·/a·put |
2132 | dup·98·/b·put | ||
2131 | dup·1 | 2133 | dup·101·/e·put |
2132 | dup·114·/r·put | 2134 | dup·114·/r·put |
2133 | dup·117·/u·put | 2135 | dup·117·/u·put |
2134 | dup·121·/y·put | 2136 | dup·121·/y·put |
2135 | readonly·def | 2137 | readonly·def |
2136 | currentdict·end | 2138 | currentdict·end |
2137 | currentfile·eexec | 2139 | currentfile·eexec |
2138 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2140 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2316, 83 lines modified | Offset 2318, 94 lines modified | ||
2316 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2318 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2317 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2319 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2318 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2320 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2319 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2321 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2320 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2322 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2321 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2323 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2322 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2324 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2323 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2325 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2324 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2325 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2326 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2327 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2328 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2329 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2330 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2331 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2332 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2333 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2334 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2335 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2336 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2337 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2338 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2339 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2340 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2341 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2342 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2343 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2344 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2345 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2346 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2347 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2348 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2349 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2350 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2351 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2352 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2353 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2354 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2355 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2356 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2357 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2358 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2359 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2360 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2361 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2362 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2363 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2364 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2365 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2366 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2367 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2368 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2369 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2370 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2371 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2372 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2373 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2374 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2375 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2376 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2377 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2378 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2379 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2380 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2381 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2382 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2383 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2384 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2385 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2386 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2387 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2388 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2389 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2390 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2391 | 2326 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2327 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2328 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2329 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2330 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2331 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2332 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2333 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2334 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2335 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2336 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2337 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2338 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2339 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 29728/41273 bytes (72.03%) of diff not shown. |
Offset 23, 15 lines modified | Offset 23, 15 lines modified | ||
23 | ···········–·dense·by·columns,·i.e.,·dense·and·column·major\xd | 23 | ···········–·dense·by·columns,·i.e.,·dense·and·column·major\xd |
24 | ···········–·sparse·using·dense·subrows\xd | 24 | ···········–·sparse·using·dense·subrows\xd |
25 | ···········–·sparse·using·dense·subcolumns\xd | 25 | ···········–·sparse·using·dense·subcolumns\xd |
26 | ···········–·sparse·using·sparse·rows\xd | 26 | ···········–·sparse·using·sparse·rows\xd |
27 | ···········–·sparse·using·sparse·columns\xd | 27 | ···········–·sparse·using·sparse·columns\xd |
28 | ···········–·sparse·using·(i,j,ai,j)·triples\xd | 28 | ···········–·sparse·using·(i,j,ai,j)·triples\xd |
29 | ·····························1\xd | 29 | ·····························1\xd |
30 | ···········2······················SubMtx·:·DRAFT· | 30 | ···········2······················SubMtx·:·DRAFT·February·13,·2025\xd |
31 | ·················–·a·diagonal·matrix\xd | 31 | ·················–·a·diagonal·matrix\xd |
32 | ·················–·a·block·diagonal·symmetric·matrix·where·the·blocks·are·1·×·1·or·2·×·2,·used·in·the\xd | 32 | ·················–·a·block·diagonal·symmetric·matrix·where·the·blocks·are·1·×·1·or·2·×·2,·used·in·the\xd |
33 | ···················symmetric·indefinite·factorization.\xd | 33 | ···················symmetric·indefinite·factorization.\xd |
34 | ·················–·a·block·diagonal·Hermitian·matrix·where·the·blocks·are·1·×·1·or·2·×·2,·used·in·the\xd | 34 | ·················–·a·block·diagonal·Hermitian·matrix·where·the·blocks·are·1·×·1·or·2·×·2,·used·in·the\xd |
35 | ···················hermitian·indefinite·factorization.\xd | 35 | ···················hermitian·indefinite·factorization.\xd |
36 | ··············•·The·SubMtx·object·can·be·self-contained,·in·the·sense·that·its·structure·contains·a·DV·object\xd | 36 | ··············•·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\xd | 37 | ···············that·manages·a·contiguous·vector·of·workspace·that·is·used·to·store·all·information·about·the\xd |
Offset 60, 15 lines modified | Offset 60, 15 lines modified | ||
60 | ···········information·is·better·than·using·explicit·structure·fields.·For·example,·if·we·want·to·extend·the\xd | 60 | ···········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\xd | 61 | ···········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.\xd | 62 | ···········all·—·it·is·only·necessary·to·provide·one·or·more·instance·methods·to·return·the·new·information.\xd |
63 | ···········1.1··Data·Structure\xd | 63 | ···········1.1··Data·Structure\xd |
64 | ···········The·SubMtx·structure·has·the·following·fields.\xd | 64 | ···········The·SubMtx·structure·has·the·following·fields.\xd |
65 | ··············•·int·type·:·type·of·entries.\xd | 65 | ··············•·int·type·:·type·of·entries.\xd |
66 | ·················–·SPOOLES·REAL·:·double·precision·real·entries.\xd | 66 | ·················–·SPOOLES·REAL·:·double·precision·real·entries.\xd |
67 | ·····································SubMtx·:·DRAFT·· | 67 | ·····································SubMtx·:·DRAFT··February·13,·2025···················3\xd |
68 | ···················–·SPOOLES·COMPLEX·:·double·precision·complex·entries.\xd | 68 | ···················–·SPOOLES·COMPLEX·:·double·precision·complex·entries.\xd |
69 | ···············•·int·mode·:·storage·mode.\xd | 69 | ···············•·int·mode·:·storage·mode.\xd |
70 | ···················–·SUBMTX·DENSE·ROWS·:·dense,·storage·by·rows.\xd | 70 | ···················–·SUBMTX·DENSE·ROWS·:·dense,·storage·by·rows.\xd |
71 | ···················–·SUBMTX·DENSE·COLUMNS·:·dense,·storage·by·columns.\xd | 71 | ···················–·SUBMTX·DENSE·COLUMNS·:·dense,·storage·by·columns.\xd |
72 | ···················–·SUBMTX·SPARSE·ROWS·:·sparse,·storage·by·rows.\xd | 72 | ···················–·SUBMTX·SPARSE·ROWS·:·sparse,·storage·by·rows.\xd |
73 | ···················–·SUBMTX·SPARSE·COLUMNS·:·sparse,·storage·by·columns.\xd | 73 | ···················–·SUBMTX·SPARSE·COLUMNS·:·sparse,·storage·by·columns.\xd |
74 | ···················–·SUBMTX·SPARSE·TRIPLES·:·sparse,·storage·by·(i,j,ai,j)·triples.\xd | 74 | ···················–·SUBMTX·SPARSE·TRIPLES·:·sparse,·storage·by·(i,j,ai,j)·triples.\xd |
Offset 92, 15 lines modified | Offset 92, 15 lines modified | ||
92 | ···············•·SUBMTX·IS·DENSE·ROWS(mtx)is·1·if·mtx·has·dense·rows·as·its·storage·format,·and·0·otherwise.\xd | 92 | ···············•·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\xd | 93 | ···············•·SUBMTX·IS·DENSE·COLUMNS(mtx)·is·1·if·mtx·has·dense·columns·as·its·storage·format,·and·0\xd |
94 | ·················otherwise.\xd | 94 | ·················otherwise.\xd |
95 | ···············•·SUBMTX·IS·SPARSE·ROWS(mtx)·is·1·if·mtx·has·sparse·rows·as·its·storage·format,·and·0·other-\xd | 95 | ···············•·SUBMTX·IS·SPARSE·ROWS(mtx)·is·1·if·mtx·has·sparse·rows·as·its·storage·format,·and·0·other-\xd |
96 | ·················wise.\xd | 96 | ·················wise.\xd |
97 | ···············•·SUBMTX·IS·SPARSE·COLUMNS(mtx)·is·1·if·mtx·has·sparse·columns·as·its·storage·format,·and·0\xd | 97 | ···············•·SUBMTX·IS·SPARSE·COLUMNS(mtx)·is·1·if·mtx·has·sparse·columns·as·its·storage·format,·and·0\xd |
98 | ·················otherwise.\xd | 98 | ·················otherwise.\xd |
99 | ··············4···························SubMtx·:·DRAFT· | 99 | ··············4···························SubMtx·:·DRAFT·February·13,·2025\xd |
100 | ·················•·SUBMTX·IS·SPARSE·TRIPLES(mtx)·is·1·if·mtx·has·sparse·triples·as·its·storage·format,·0·other-\xd | 100 | ·················•·SUBMTX·IS·SPARSE·TRIPLES(mtx)·is·1·if·mtx·has·sparse·triples·as·its·storage·format,·0·other-\xd |
101 | ··················wise.\xd | 101 | ··················wise.\xd |
102 | ·················•·SUBMTX·IS·DENSE·SUBROWS(mtx)·is·1·if·mtx·has·dense·subrows·as·its·storage·format,·0·other-\xd | 102 | ·················•·SUBMTX·IS·DENSE·SUBROWS(mtx)·is·1·if·mtx·has·dense·subrows·as·its·storage·format,·0·other-\xd |
103 | ··················wise.\xd | 103 | ··················wise.\xd |
104 | ·················•·SUBMTX·IS·DENSE·SUBCOLUMNS(mtx)·is·1·if·mtx·has·dense·subcolumns·as·its·storage·format,\xd | 104 | ·················•·SUBMTX·IS·DENSE·SUBCOLUMNS(mtx)·is·1·if·mtx·has·dense·subcolumns·as·its·storage·format,\xd |
105 | ··················0·otherwise.\xd | 105 | ··················0·otherwise.\xd |
106 | ·················•·SUBMTX·IS·DIAGONAL(mtx)·is·1·if·mtx·is·diagonal,·0·otherwise.\xd | 106 | ·················•·SUBMTX·IS·DIAGONAL(mtx)·is·1·if·mtx·is·diagonal,·0·otherwise.\xd |
Offset 126, 15 lines modified | Offset 126, 15 lines modified | ||
126 | ··················This·method·clears·the·object·and·free’s·any·owned·data·by·invoking·the·clearData()\xd | 126 | ··················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().\xd | 127 | ··················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.\xd | 128 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
129 | ················4.·void·SubMtx_free·(·SubMtx·*mtx·)·;\xd | 129 | ················4.·void·SubMtx_free·(·SubMtx·*mtx·)·;\xd |
130 | ··················This·method·releases·any·storage·by·a·call·to·SubMtx·clearData()·and·then·frees·the·space\xd | 130 | ··················This·method·releases·any·storage·by·a·call·to·SubMtx·clearData()·and·then·frees·the·space\xd |
131 | ··················for·mtx.\xd | 131 | ··················for·mtx.\xd |
132 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 132 | ··················Error·checking:·If·mtx·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
133 | ·····································SubMtx·:·DRAFT·· | 133 | ·····································SubMtx·:·DRAFT··February·13,·2025···················5\xd |
134 | ············1.2.2··Instance·methods\xd | 134 | ············1.2.2··Instance·methods\xd |
135 | ···············1.·void·SubMtx_ids·(·SubMtx·*mtx,·int·*prowid,·int·*pcolid·)·;\xd | 135 | ···············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.\xd | 136 | ·················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\xd | 137 | ·················Error·checking:·If·mtx,·prowid·or·pcolid·is·NULL,·an·error·message·is·printed·and·the·program\xd |
138 | ·················exits.\xd | 138 | ·················exits.\xd |
139 | ···············2.·void·SubMtx_setIds·(·SubMtx·*mtx,·int·rowid,·int·colid·)·;\xd | 139 | ···············2.·void·SubMtx_setIds·(·SubMtx·*mtx,·int·rowid,·int·colid·)·;\xd |
140 | ·················This·method·sets·the·row·and·column·id’s·of·the·matrix.\xd | 140 | ·················This·method·sets·the·row·and·column·id’s·of·the·matrix.\xd |
Offset 163, 15 lines modified | Offset 163, 15 lines modified | ||
163 | ·················the·program·exits.\xd | 163 | ·················the·program·exits.\xd |
164 | ···············7.·void·SubMtx_sparseRowsInfo·(·SubMtx·*mtx,·int·*pnrow,·int·*pnent,\xd | 164 | ···············7.·void·SubMtx_sparseRowsInfo·(·SubMtx·*mtx,·int·*pnrow,·int·*pnent,\xd |
165 | ··········································int·**psizes,·int·**pindices,·double·**pentries·)·;\xd | 165 | ··········································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\xd | 166 | ·················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\xd | 167 | ·················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\xd | 168 | ·················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\xd | 169 | ·················address·of·the·indices[nent]·vector·that·contains·the·column·index·for·each·entry,·and\xd |
170 | ·······6··············SubMtx·:·DRAFT· | 170 | ·······6··············SubMtx·:·DRAFT·February·13,·2025\xd |
171 | ··········*pentries·with·the·base·address·of·entries[nent]·vector.·The·indices·and·entries·for·the\xd | 171 | ··········*pentries·with·the·base·address·of·entries[nent]·vector.·The·indices·and·entries·for·the\xd |
172 | ··········rows·are·stored·contiguously.\xd | 172 | ··········rows·are·stored·contiguously.\xd |
173 | ··········Error·checking:·If·mtx,·pnrow,·pnent,·psizes,·pindices·or·pentries·is·NULL,·or·if·the·matrix\xd | 173 | ··········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.\xd | 174 | ··········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,\xd | 175 | ········8.·void·SubMtx_sparseColumnsInfo·(·SubMtx·*mtx,·int·*pncol,·int·*pnent,\xd |
176 | ························int·**psizes,·int·**pindices,·double·**pentries·)·;\xd | 176 | ························int·**psizes,·int·**pindices,·double·**pentries·)·;\xd |
177 | ··········Thismethodisusedwhenthestoragemodeissparsecolumns.·Itfills*pncolwiththenumber\xd | 177 | ··········Thismethodisusedwhenthestoragemodeissparsecolumns.·Itfills*pncolwiththenumber\xd |
Offset 204, 15 lines modified | Offset 204, 15 lines modified | ||
204 | ··········exits.\xd | 204 | ··········exits.\xd |
205 | ········11.·void·SubMtx_denseSubcolumnsInfo·(·SubMtx·*mtx,·int·*pncol,·int·*pnent,\xd | 205 | ········11.·void·SubMtx_denseSubcolumnsInfo·(·SubMtx·*mtx,·int·*pncol,·int·*pnent,\xd |
206 | ··················int·**pfirstlocs,·int·**plastlocs,·double·**pentries·)·;\xd | 206 | ··················int·**pfirstlocs,·int·**plastlocs,·double·**pentries·)·;\xd |
207 | ··········This·method·is·used·when·the·storage·mode·is·dense·subcolumns.·It·fills·*pncol·with\xd | 207 | ··········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\xd | 208 | ··········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\xd | 209 | ··········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\xd | 210 | ··········lastlocs[ncol]vector,·and·*pentries·with·the·base·address·of·entries[nent]·vector.·For\xd |
211 | ··········································· | 211 | ···········································SubMtx·:·DRAFT·····February·13,·2025·························7\xd |
212 | ····················column·jcol,·the·nonzero·entries·are·found·in·rows·[firstlocs[jcol],lastlocs[jcol]]\xd | 212 | ····················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\xd | 213 | ····················when·firstlocs[jcol]·≥·0·and·firstlocs[jcol]·≤·lastlocs[jcol].·The·entries·for·the\xd |
214 | ····················columns·are·stored·contiguously.\xd | 214 | ····················columns·are·stored·contiguously.\xd |
215 | ····················Error·checking:·If·mtx,·pnrow,·pnent,·pfirstlocs,·plastlocs·or·pentries·is·NULL,·or·if·the\xd | 215 | ····················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\xd | 216 | ····················matrix·type·is·not·SUBMTX·DENSE·SUBCOLUMNS,·an·error·message·is·printed·and·the·program\xd |
217 | ····················exits.\xd | 217 | ····················exits.\xd |
218 | ················12.·void·SubMtx_diagonalInfo·(·SubMtx·*mtx,·int·*pncol,·double·**pentries·)·;\xd | 218 | ················12.·void·SubMtx_diagonalInfo·(·SubMtx·*mtx,·int·*pncol,·double·**pentries·)·;\xd |
Offset 242, 15 lines modified | Offset 242, 15 lines modified | ||
242 | ····················and·0·≤·jcol·≤·ncol.·If·the·(irow,jcol)·entry·is·present,·the·return·value·is·the·offset\xd | 242 | ····················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\xd | 243 | ····················from·the·start·of·the·entries·vector.·(The·offset·is·in·terms·of·complex·entries,·not·double\xd |
244 | ····················entries.)·Otherwise,·-1·is·returned.\xd | 244 | ····················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\xd | 245 | ····················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.\xd | 246 | ····················message·is·printed·and·the·program·exits.\xd |
247 | ················16.·void··SubMtx_locationOfRealEntry·(·SubMtx·*mtx,·int·irow,·int·jcol,\xd | 247 | ················16.·void··SubMtx_locationOfRealEntry·(·SubMtx·*mtx,·int·irow,·int·jcol,\xd |
248 | ··························································double·**ppValue·)·;\xd | 248 | ··························································double·**ppValue·)·;\xd |
249 | ··············8···························· | 249 | ··············8····························SubMtx·:·DRAFT·February·13,·2025\xd |
250 | ···················If·the·(irow,jcol)·entry·is·present,·this·method·fills·*ppValue·with·a·pointer·to·the·entry\xd | 250 | ···················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\xd | 251 | ···················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.\xd | 252 | ···················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\xd | 253 | ···················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.\xd | 254 | ···················is·printed·and·the·program·exits.\xd |
255 | ················17.·void··SubMtx_locationOfComplexEntry·(·SubMtx·*mtx,·int·irow,·int·jcol,\xd | 255 | ················17.·void··SubMtx_locationOfComplexEntry·(·SubMtx·*mtx,·int·irow,·int·jcol,\xd |
256 | ·····························································double·**ppReal,·double·**ppImag·)·;\xd | 256 | ·····························································double·**ppReal,·double·**ppImag·)·;\xd |
Offset 278, 15 lines modified | Offset 278, 15 lines modified | ||
278 | ·············································int·nrow,·int·ncol,·int·nent,·int·seed·)·;\xd | 278 | ·············································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.\xd | 279 | ···················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\xd | 280 | ···················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,\xd | 281 | ···················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.\xd | 282 | ···················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,\xd | 283 | ···················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.\xd | 284 | ···················or·if·neither·inc1·nor·inc2·are·1,·an·error·message·is·printed·and·the·program·exits.\xd |
285 | ·····································SubMtx·:·DRAFT·· | 285 | ·····································SubMtx·:·DRAFT··February·13,·2025···················9\xd |
286 | ···············4.·void·SubMtx_initRandomLowerTriangle·(·SubMtx·*mtx,·int·type,·int·mode,\xd | 286 | ···············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·)·;\xd | 287 | ····················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,\xd | 288 | ·················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·)·;\xd | 289 | ····················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-\xd | 290 | ·················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\xd | 291 | ·················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\xd | 292 | ·················matrix·will·be·strict·lower·or·upper·triangular.·The·object·is·first·initialized·via·a·call·to\xd |
Max diff block lines reached; 12222/23016 bytes (53.10%) of diff not shown. |
Offset 10, 15 lines modified | Offset 10, 15 lines modified | ||
10 | %%EndComments | 10 | %%EndComments |
11 | %%BeginDefaults | 11 | %%BeginDefaults |
12 | %%ViewingOrientation:·1·0·0·1 | 12 | %%ViewingOrientation:·1·0·0·1 |
13 | %%EndDefaults | 13 | %%EndDefaults |
14 | %DVIPSWebPage:·(www.radicaleye.com) | 14 | %DVIPSWebPage:·(www.radicaleye.com) |
15 | %DVIPSCommandLine:·dvips·main·-o·SubMtxList.ps | 15 | %DVIPSCommandLine:·dvips·main·-o·SubMtxList.ps |
16 | %DVIPSParameters:·dpi=600 | 16 | %DVIPSParameters:·dpi=600 |
17 | %DVIPSSource:··TeX·output·202 | 17 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
18 | %%BeginProcSet:·tex.pro·0·0 | 18 | %%BeginProcSet:·tex.pro·0·0 |
19 | %! | 19 | %! |
20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 20 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 21 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 22 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 23 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 24 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1778, 19 lines modified | Offset 1778, 21 lines modified | ||
1778 | end·readonly·def | 1778 | end·readonly·def |
1779 | /Encoding·256·array | 1779 | /Encoding·256·array |
1780 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1780 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1781 | dup·44·/comma·put | 1781 | dup·44·/comma·put |
1782 | dup·48·/zero·put | 1782 | dup·48·/zero·put |
1783 | dup·49·/one·put | 1783 | dup·49·/one·put |
1784 | dup·50·/two·put | 1784 | dup·50·/two·put |
1785 | dup·51·/three·put | ||
1785 | dup·5 | 1786 | dup·53·/five·put |
1786 | dup·58·/colon·put | 1787 | dup·58·/colon·put |
1787 | dup·7 | 1788 | dup·70·/F·put |
1788 | dup·97·/a·put | 1789 | dup·97·/a·put |
1790 | dup·98·/b·put | ||
1789 | dup·1 | 1791 | dup·101·/e·put |
1790 | dup·114·/r·put | 1792 | dup·114·/r·put |
1791 | dup·117·/u·put | 1793 | dup·117·/u·put |
1792 | dup·121·/y·put | 1794 | dup·121·/y·put |
1793 | readonly·def | 1795 | readonly·def |
1794 | currentdict·end | 1796 | currentdict·end |
1795 | currentfile·eexec | 1797 | currentfile·eexec |
1796 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1798 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1974, 83 lines modified | Offset 1976, 94 lines modified | ||
1974 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1976 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1975 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1977 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1976 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1978 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1977 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1979 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1978 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1980 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1979 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1981 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1980 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1982 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1981 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1983 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1982 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1983 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1984 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1985 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1986 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1987 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1988 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1989 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1990 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1991 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1992 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1993 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1994 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1995 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1996 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1997 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1998 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1999 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2000 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2001 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2002 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2003 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2004 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2005 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2006 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2007 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2008 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2009 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2010 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2011 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2012 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2013 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2014 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2015 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2016 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2017 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2018 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2019 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2020 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2021 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2022 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2023 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2024 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2025 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2026 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2027 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2028 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2029 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2030 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2031 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2032 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2033 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2034 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2035 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2036 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2037 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2038 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2039 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2040 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2041 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2042 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2043 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2044 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2045 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2046 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2047 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2048 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2049 | 1984 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1985 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1986 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1987 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1988 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1989 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1990 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1991 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1992 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1993 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1994 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1995 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1996 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1997 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 11350/22899 bytes (49.57%) of diff not shown. |
Offset 22, 15 lines modified | Offset 22, 15 lines modified | ||
22 | ·······The·first·two·operations·are·queries,·and·can·be·done·without·locking·the·list.·The·third·operation\xd | 22 | ·······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\xd | 23 | ·······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\xd | 24 | ·······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.\xd | 25 | ·······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\xd | 26 | ·········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.\xd | 27 | ·······during·a·serial·factorization·nor·a·MPI·solve.·In·the·latter·case·there·is·one·SubMtxList·per·process.\xd |
28 | ·····························1\xd | 28 | ·····························1\xd |
29 | ··············2·························SubMtxList·:·DRAFT· | 29 | ··············2·························SubMtxList·:·DRAFT·February·13,·2025\xd |
30 | ··············For·a·multithreaded·solve·there·is·one·SubMtxList·object·that·is·shared·by·all·threads.·The·mutual\xd | 30 | ··············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\xd | 31 | ··············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\xd | 32 | ··············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\xd | 33 | ··············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\xd | 34 | ··············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.\xd | 35 | ··············some·modifications·to·the·Lock·object,·but·none·to·the·SubMtxList·objects.\xd |
36 | ··············1.1···Data·Structure\xd | 36 | ··············1.1···Data·Structure\xd |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | ················1.·SubMtxList·*·SubMtxList_new·(·void·)·;\xd | 52 | ················1.·SubMtxList·*·SubMtxList_new·(·void·)·;\xd |
53 | ··················This·method·simply·allocates·storage·for·the·SubMtxList·structure·and·then·sets·the·default\xd | 53 | ··················This·method·simply·allocates·storage·for·the·SubMtxList·structure·and·then·sets·the·default\xd |
54 | ··················fields·by·a·call·to·SubMtxList·setDefaultFields().\xd | 54 | ··················fields·by·a·call·to·SubMtxList·setDefaultFields().\xd |
55 | ················2.·void·SubMtxList_setDefaultFields·(·SubMtxList·*list·)·;\xd | 55 | ················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,\xd | 56 | ··················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·.\xd | 57 | ··················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.\xd | 58 | ··················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
59 | ··································· | 59 | ···································SubMtxList·:·DRAFT···February·13,·2025·················3\xd |
60 | ···············3.·void·SubMtxList_clearData·(·SubMtxList·*list·)·;\xd | 60 | ···············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\xd | 61 | ·················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\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\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\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\xd |
64 | ·················NULL,·it·is·destroyed·via·a·call·to·mutex·destroy()·and·then·free’d.·There·is·a·concluding\xd | 64 | ·················NULL,·it·is·destroyed·via·a·call·to·mutex·destroy()·and·then·free’d.·There·is·a·concluding\xd |
65 | ·················call·to·SubMtxList·setDefaultFields().\xd | 65 | ·················call·to·SubMtxList·setDefaultFields().\xd |
66 | ·················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 66 | ·················Error·checking:·If·list·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
Offset 87, 15 lines modified | Offset 87, 15 lines modified | ||
87 | ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd | 87 | ·················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.\xd | 88 | ·················is·printed·and·zero·is·returned.\xd |
89 | ···············2.·int·SubMtxList_isCountZero·(·SubMtxList·*list,·int·ilist·)·;\xd | 89 | ···············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\xd | 90 | ·················If·counts·is·NULL,·or·if·counts[ilist]·equal·to·zero,·the·method·returns·1.·Otherwise,·the\xd |
91 | ·················method·returns·0.\xd | 91 | ·················method·returns·0.\xd |
92 | ·················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd | 92 | ·················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.\xd | 93 | ·················is·printed·and·zero·is·returned.\xd |
94 | ··············4·························SubMtxList·:·DRAFT· | 94 | ··············4·························SubMtxList·:·DRAFT·February·13,·2025\xd |
95 | ················3.·SubMtx·*·SubMtxList_getList·(·SubMtxList·*list,·int·ilist·)·;\xd | 95 | ················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\xd | 96 | ··················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.\xd | 97 | ··················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\xd | 98 | ··················If·the·list·was·locked,·the·number·of·locks·is·incremented·and·the·lock·unlocked.·The·saved\xd |
99 | ··················pointer·is·returned.\xd | 99 | ··················pointer·is·returned.\xd |
100 | ··················Error·checking:·If·list·is·NULL,·or·if·ilist·is·not·in·the·range·[0,nlist),·an·error·message\xd | 100 | ··················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.\xd | 101 | ··················is·printed·and·zero·is·returned.\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·SubMtxManager.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·SubMtxManager.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1421, 19 lines modified | Offset 1421, 21 lines modified | ||
1421 | end·readonly·def | 1421 | end·readonly·def |
1422 | /Encoding·256·array | 1422 | /Encoding·256·array |
1423 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1423 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1424 | dup·44·/comma·put | 1424 | dup·44·/comma·put |
1425 | dup·48·/zero·put | 1425 | dup·48·/zero·put |
1426 | dup·49·/one·put | 1426 | dup·49·/one·put |
1427 | dup·50·/two·put | 1427 | dup·50·/two·put |
1428 | dup·51·/three·put | ||
1428 | dup·5 | 1429 | dup·53·/five·put |
1429 | dup·58·/colon·put | 1430 | dup·58·/colon·put |
1430 | dup·7 | 1431 | dup·70·/F·put |
1431 | dup·97·/a·put | 1432 | dup·97·/a·put |
1433 | dup·98·/b·put | ||
1432 | dup·1 | 1434 | dup·101·/e·put |
1433 | dup·114·/r·put | 1435 | dup·114·/r·put |
1434 | dup·117·/u·put | 1436 | dup·117·/u·put |
1435 | dup·121·/y·put | 1437 | dup·121·/y·put |
1436 | readonly·def | 1438 | readonly·def |
1437 | currentdict·end | 1439 | currentdict·end |
1438 | currentfile·eexec | 1440 | currentfile·eexec |
1439 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1441 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1617, 83 lines modified | Offset 1619, 94 lines modified | ||
1617 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1619 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1618 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1620 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1619 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1621 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1620 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1622 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1621 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1623 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1622 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1624 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1623 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1625 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1624 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1626 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1625 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1626 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1627 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1628 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1629 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1630 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1631 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1632 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1633 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1634 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1635 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1636 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1637 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1638 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1639 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1640 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1641 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1642 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1643 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1644 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1645 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1646 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1647 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1648 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1649 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1650 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1651 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1652 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1653 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1654 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1655 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1656 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1657 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1658 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1659 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1660 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1661 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1662 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1663 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1664 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1665 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1666 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1667 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1668 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1669 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1670 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1671 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1672 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1673 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1674 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1675 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1676 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1677 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1678 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1679 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1680 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1681 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1682 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1683 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1684 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1685 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1686 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1687 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1688 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1689 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1690 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1691 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1692 | 1627 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1628 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1629 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1630 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1631 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1632 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1633 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1634 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1635 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1636 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1637 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1638 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1639 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1640 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 6674/18226 bytes (36.62%) of diff not shown. |
Offset 27, 15 lines modified | Offset 27, 15 lines modified | ||
27 | ···············with·sufficient·work·space,·and·returns·a·pointer·to·the·object.·When·a·SubMtx·object·is·no·longer\xd | 27 | ···············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\xd | 28 | ···············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.\xd | 29 | ···············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\xd | 30 | ···················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\xd | 31 | ···············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.\xd | 32 | ···············each·processor),·but·it·is·necessary·for·in·a·multithreaded·environment.\xd |
33 | ·······························································1\xd | 33 | ·······························································1\xd |
34 | ··············2·······················SubMtxManager·:·DRAFT· | 34 | ··············2·······················SubMtxManager·:·DRAFT·February·13,·2025\xd |
35 | ·················Eachmanagerobjectkeepstrackofcertainstatistics,·bytesintheirworkspaces,·thetotal·number\xd | 35 | ·················Eachmanagerobjectkeepstrackofcertainstatistics,·bytesintheirworkspaces,·thetotal·number\xd |
36 | ··············of·bytes·requested,·the·number·of·requests·for·a·SubMtx·objects,·the·number·of·releases,·and·the\xd | 36 | ··············of·bytes·requested,·the·number·of·requests·for·a·SubMtx·objects,·the·number·of·releases,·and·the\xd |
37 | ··············number·of·locks·and·unlocks.\xd | 37 | ··············number·of·locks·and·unlocks.\xd |
38 | ··············1.1···Data·Structure\xd | 38 | ··············1.1···Data·Structure\xd |
39 | ··············The·SubMtxManager·structure·has·the·following·fields.\xd | 39 | ··············The·SubMtxManager·structure·has·the·following·fields.\xd |
40 | ·················•·SubMtx·*head·:·head·of·the·free·list·of·SubMtx·objects.\xd | 40 | ·················•·SubMtx·*head·:·head·of·the·free·list·of·SubMtx·objects.\xd |
41 | ·················•·Lock·*lock·:·mutual·exclusion·lock.\xd | 41 | ·················•·Lock·*lock·:·mutual·exclusion·lock.\xd |
Offset 55, 15 lines modified | Offset 55, 15 lines modified | ||
55 | ··············SubMtxManager·object.\xd | 55 | ··············SubMtxManager·object.\xd |
56 | ··············1.2.1··Basic·methods\xd | 56 | ··············1.2.1··Basic·methods\xd |
57 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 57 | ··············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.\xd | 58 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
59 | ················1.·SubMtxManager·*·SubMtxManager_new·(·void·)·;\xd | 59 | ················1.·SubMtxManager·*·SubMtxManager_new·(·void·)·;\xd |
60 | ··················This·method·simply·allocates·storage·for·the·SubMtxManager·structure·and·then·sets·the\xd | 60 | ··················This·method·simply·allocates·storage·for·the·SubMtxManager·structure·and·then·sets·the\xd |
61 | ··················default·fields·by·a·call·to·SubMtxManager·setDefaultFields().\xd | 61 | ··················default·fields·by·a·call·to·SubMtxManager·setDefaultFields().\xd |
62 | ·································· | 62 | ··································SubMtxManager·:·DRAFT···February·13,·2025···············3\xd |
63 | ···············2.·void·SubMtxManager_setDefaultFields·(·SubMtxManager·*manager·)·;\xd | 63 | ···············2.·void·SubMtxManager_setDefaultFields·(·SubMtxManager·*manager·)·;\xd |
64 | ·················Thestructure’sfieldsaresettodefaultvalues:·mode,nactive,nbytesactive,nbytesrequested,\xd | 64 | ·················Thestructure’sfieldsaresettodefaultvalues:·mode,nactive,nbytesactive,nbytesrequested,\xd |
65 | ·················nbytesalloc,·nrequests,·nreleases,·nlocks·and·nunlocks·are·set·to·zero,·and·head·and\xd | 65 | ·················nbytesalloc,·nrequests,·nreleases,·nlocks·and·nunlocks·are·set·to·zero,·and·head·and\xd |
66 | ·················lock·are·set·to·NULL·.\xd | 66 | ·················lock·are·set·to·NULL·.\xd |
67 | ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 67 | ·················Error·checking:·If·manager·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
68 | ···············3.·void·SubMtxManager_clearData·(·SubMtxManager·*manager·)·;\xd | 68 | ···············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\xd | 69 | ·················This·method·clears·the·object·and·free’s·any·owned·data·by·calling·SubMtx·free()·for·each\xd |
Offset 89, 15 lines modified | Offset 89, 15 lines modified | ||
89 | ·················its·workspace.\xd | 89 | ·················its·workspace.\xd |
90 | ·················Error·checking:·If·manager·is·NULL,·or·if·nbytesNeeded·≤·0,·an·error·message·is·printed·and\xd | 90 | ·················Error·checking:·If·manager·is·NULL,·or·if·nbytesNeeded·≤·0,·an·error·message·is·printed·and\xd |
91 | ·················zero·is·returned.\xd | 91 | ·················zero·is·returned.\xd |
92 | ···············2.·void·SubMtxManager_releaseObject·(·SubMtxManager·*manager,·SubMtx·*mtx·)·;\xd | 92 | ···············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\xd | 93 | ·················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).\xd | 94 | ·················free·list·(if·mode·=·1).\xd |
95 | ·················Error·checking:·If·manager·or·mtx·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd | 95 | ·················Error·checking:·If·manager·or·mtx·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
96 | ··············4·······················SubMtxManager·:·DRAFT· | 96 | ··············4·······················SubMtxManager·:·DRAFT·February·13,·2025\xd |
97 | ················3.·void·SubMtxManager_releaseListOfObjects·(·SubMtxManager·*manager,·SubMtx·*first·)·;\xd | 97 | ················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\xd | 98 | ··················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).\xd | 99 | ··················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.\xd | 100 | ··················Error·checking:·If·manager·or·head·is·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
101 | ··············1.2.4··IO·methods\xd | 101 | ··············1.2.4··IO·methods\xd |
102 | ················1.·void·SubMtxManager_writeForHumanEye·(·SubMtxManager·*manager,·FILE·*fp·)·;\xd | 102 | ················1.·void·SubMtxManager_writeForHumanEye·(·SubMtxManager·*manager,·FILE·*fp·)·;\xd |
103 | ··················This·method·writes·a·SubMtxManager·object·to·a·file·in·an·easily·readable·format.\xd | 103 | ··················This·method·writes·a·SubMtxManager·object·to·a·file·in·an·easily·readable·format.\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·SymbFac.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·SymbFac.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 1008, 19 lines modified | Offset 1008, 21 lines modified | ||
1008 | end·readonly·def | 1008 | end·readonly·def |
1009 | /Encoding·256·array | 1009 | /Encoding·256·array |
1010 | 0·1·255·{1·index·exch·/.notdef·put}·for | 1010 | 0·1·255·{1·index·exch·/.notdef·put}·for |
1011 | dup·44·/comma·put | 1011 | dup·44·/comma·put |
1012 | dup·48·/zero·put | 1012 | dup·48·/zero·put |
1013 | dup·49·/one·put | 1013 | dup·49·/one·put |
1014 | dup·50·/two·put | 1014 | dup·50·/two·put |
1015 | dup·51·/three·put | ||
1015 | dup·5 | 1016 | dup·53·/five·put |
1016 | dup·58·/colon·put | 1017 | dup·58·/colon·put |
1017 | dup·7 | 1018 | dup·70·/F·put |
1018 | dup·97·/a·put | 1019 | dup·97·/a·put |
1020 | dup·98·/b·put | ||
1019 | dup·1 | 1021 | dup·101·/e·put |
1020 | dup·114·/r·put | 1022 | dup·114·/r·put |
1021 | dup·117·/u·put | 1023 | dup·117·/u·put |
1022 | dup·121·/y·put | 1024 | dup·121·/y·put |
1023 | readonly·def | 1025 | readonly·def |
1024 | currentdict·end | 1026 | currentdict·end |
1025 | currentfile·eexec | 1027 | currentfile·eexec |
1026 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 1028 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 1204, 83 lines modified | Offset 1206, 94 lines modified | ||
1204 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 1206 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
1205 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 1207 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
1206 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 1208 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
1207 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 1209 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
1208 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 1210 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
1209 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 1211 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
1210 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 1212 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
1211 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 1213 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
1212 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
1213 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
1214 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
1215 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
1216 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
1217 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
1218 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
1219 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
1220 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
1221 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
1222 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
1223 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
1224 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
1225 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
1226 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
1227 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
1228 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
1229 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
1230 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
1231 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
1232 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
1233 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
1234 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
1235 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
1236 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
1237 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
1238 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
1239 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
1240 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
1241 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
1242 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
1243 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
1244 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
1245 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
1246 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
1247 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
1248 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
1249 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
1250 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
1251 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
1252 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
1253 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
1254 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
1255 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
1256 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
1257 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
1258 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
1259 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
1260 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
1261 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
1262 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
1263 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
1264 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
1265 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
1266 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
1267 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
1268 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
1269 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
1270 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
1271 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
1272 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
1273 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
1274 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
1275 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
1276 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
1277 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
1278 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
1279 | 1214 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
1215 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
1216 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
1217 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
1218 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
1219 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
1220 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
1221 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
1222 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
1223 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
1224 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
1225 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
1226 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
1227 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 6352/17898 bytes (35.49%) of diff not shown. |
Offset 22, 15 lines modified | Offset 22, 15 lines modified | ||
22 | ···········to·have·chevron·coordinate·type·and·storage·mode·must·be·by·vectors.\xd | 22 | ···········to·have·chevron·coordinate·type·and·storage·mode·must·be·by·vectors.\xd |
23 | ···········1.1··Data·Structure\xd | 23 | ···········1.1··Data·Structure\xd |
24 | ···········There·is·no·struct·or·data·associated·with·the·SymbFac·object.\xd | 24 | ···········There·is·no·struct·or·data·associated·with·the·SymbFac·object.\xd |
25 | ···········1.2··Prototypes·and·descriptions·of·SymbFac·methods\xd | 25 | ···········1.2··Prototypes·and·descriptions·of·SymbFac·methods\xd |
26 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 26 | ···········This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
27 | ···········SymbFac·object.\xd | 27 | ···········SymbFac·object.\xd |
28 | ·············································1\xd | 28 | ·············································1\xd |
29 | ··············2·························· | 29 | ··············2··························SymbFac·:·DRAFT·February·13,·2025\xd |
30 | ··············1.2.1··Symbolic·factorization·methods\xd | 30 | ··············1.2.1··Symbolic·factorization·methods\xd |
31 | ················1.·IVL·*·SymbFac_initFromGraph·(·ETree·*etree,·Graph·*graph·)·;\xd | 31 | ················1.·IVL·*·SymbFac_initFromGraph·(·ETree·*etree,·Graph·*graph·)·;\xd |
32 | ···················This·symbolic·factorization·method·takes·a·Graph·object·as·input.·This·method·constructs\xd | 32 | ···················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\xd | 33 | ···················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\xd | 34 | ···················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\xd | 35 | ···················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\xd | 36 | ···················IVL·expand()·method.·The·nodwghtsIV·and·bndwghtsIV·objects·for·the·ETree·object·are\xd |
Offset 61, 15 lines modified | Offset 61, 15 lines modified | ||
61 | ················1.·testSymbFacInpMtx·msglvl·msgFile·inETreeFile·inDInpMtxFile\xd | 61 | ················1.·testSymbFacInpMtx·msglvl·msgFile·inETreeFile·inDInpMtxFile\xd |
62 | ·····································outETreeFile·outIVfile·outIVLfile\xd | 62 | ·····································outETreeFile·outIVfile·outIVLfile\xd |
63 | ···················This·driver·program·reads·in·an·ETree·object·and·a·InpMtx·object·and·computes·the·symbolic\xd | 63 | ···················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)\xd | 64 | ···················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\xd | 65 | ···················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\xd | 66 | ···················to·outIVfile.·The·IVL·object·that·contains·the·symbolic·factorization·is·optionally·written\xd |
67 | ···················to·outIVLfile.\xd | 67 | ···················to·outIVLfile.\xd |
68 | ·······················································SymbFac·:·DRAFT··········· | 68 | ·······················································SymbFac·:·DRAFT···········February·13,·2025···································3\xd |
69 | ····························•·The·msglvl·parameter·determines·the·amount·of·output.\xd | 69 | ····························•·The·msglvl·parameter·determines·the·amount·of·output.\xd |
70 | ····························•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 70 | ····························•·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\xd | 71 | ·······························message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd |
72 | ·······························data.\xd | 72 | ·······························data.\xd |
73 | ····························•·TheinETreeFileparameteristheinputfilefortheETreeobject.·It·mustbeof·theform\xd | 73 | ····························•·TheinETreeFileparameteristheinputfilefortheETreeobject.·It·mustbeof·theform\xd |
74 | ·······························*.etreefor*.etreeb.·TheETreeobjectisreadfromthefileviatheETree·readFromFile()\xd | 74 | ·······························*.etreefor*.etreeb.·TheETreeobjectisreadfromthefileviatheETree·readFromFile()\xd |
75 | ·······························method.\xd | 75 | ·······························method.\xd |
Offset 101, 15 lines modified | Offset 101, 15 lines modified | ||
101 | ·······························data.\xd | 101 | ·······························data.\xd |
102 | ····························•·TheinETreeFileparameteristheinputfilefortheETreeobject.·It·mustbeof·theform\xd | 102 | ····························•·TheinETreeFileparameteristheinputfilefortheETreeobject.·It·mustbeof·theform\xd |
103 | ·······························*.etreefor*.etreeb.·TheETreeobjectisreadfromthefileviatheETree·readFromFile()\xd | 103 | ·······························*.etreefor*.etreeb.·TheETreeobjectisreadfromthefileviatheETree·readFromFile()\xd |
104 | ·······························method.\xd | 104 | ·······························method.\xd |
105 | ····························•·TheinGraphFileparameteristheinputfilefortheGraphobject.·It·mustbeof·theform\xd | 105 | ····························•·TheinGraphFileparameteristheinputfilefortheGraphobject.·It·mustbeof·theform\xd |
106 | ·······························*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd | 106 | ·······························*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd |
107 | ·······························method.\xd | 107 | ·······························method.\xd |
108 | ··················4····································· | 108 | ··················4·····································SymbFac·:·DRAFT·February·13,·2025\xd |
109 | ····························•·TheoutETreeFileparameter·is·the·output·file·for·the·ETree·object.·If·outETreeFileis\xd | 109 | ····························•·TheoutETreeFileparameter·is·the·output·file·for·the·ETree·object.·If·outETreeFileis\xd |
110 | ·······························nonethentheETreeobjectisnotwrittentoafile.·Otherwise,theETree·writeToFile()\xd | 110 | ·······························nonethentheETreeobjectisnotwrittentoafile.·Otherwise,theETree·writeToFile()\xd |
111 | ·······························method·is·called·to·write·the·object·to·a·formatted·file·(if·outETreeFile·is·of·the·form\xd | 111 | ·······························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).\xd | 112 | ·······························*.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.\xd | 113 | ····························•·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\xd | 114 | ·······························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\xd | 115 | ·······························IV·writeToFile()methodis·called·to·write·the·object·to·a·formatted·file·(if·outIVfile\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·Tree.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·Tree.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2229, 19 lines modified | Offset 2229, 21 lines modified | ||
2229 | end·readonly·def | 2229 | end·readonly·def |
2230 | /Encoding·256·array | 2230 | /Encoding·256·array |
2231 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2231 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2232 | dup·44·/comma·put | 2232 | dup·44·/comma·put |
2233 | dup·48·/zero·put | 2233 | dup·48·/zero·put |
2234 | dup·49·/one·put | 2234 | dup·49·/one·put |
2235 | dup·50·/two·put | 2235 | dup·50·/two·put |
2236 | dup·51·/three·put | ||
2236 | dup·5 | 2237 | dup·53·/five·put |
2237 | dup·58·/colon·put | 2238 | dup·58·/colon·put |
2238 | dup·7 | 2239 | dup·70·/F·put |
2239 | dup·97·/a·put | 2240 | dup·97·/a·put |
2241 | dup·98·/b·put | ||
2240 | dup·1 | 2242 | dup·101·/e·put |
2241 | dup·114·/r·put | 2243 | dup·114·/r·put |
2242 | dup·117·/u·put | 2244 | dup·117·/u·put |
2243 | dup·121·/y·put | 2245 | dup·121·/y·put |
2244 | readonly·def | 2246 | readonly·def |
2245 | currentdict·end | 2247 | currentdict·end |
2246 | currentfile·eexec | 2248 | currentfile·eexec |
2247 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2249 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2425, 83 lines modified | Offset 2427, 94 lines modified | ||
2425 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2427 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2426 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2428 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2427 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2429 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2428 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2430 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2429 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2431 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2430 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2432 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2431 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2433 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2432 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2434 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2433 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2434 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2435 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2436 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2437 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2438 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2439 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2440 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2441 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2442 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2443 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2444 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2445 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2446 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2447 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2448 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2449 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2450 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2451 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2452 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2453 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2454 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2455 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2456 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2457 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2458 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2459 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2460 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2461 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2462 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2463 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2464 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2465 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2466 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2467 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2468 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2469 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2470 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2471 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2472 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2473 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2474 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2475 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2476 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2477 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2478 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2479 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2480 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2481 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2482 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2483 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2484 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2485 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2486 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2487 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2488 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2489 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2490 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2491 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2492 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2493 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2494 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2495 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2496 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2497 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2498 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2499 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2500 | 2435 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2436 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2437 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2438 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2439 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2440 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2441 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2442 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2443 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2444 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2445 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2446 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2447 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2448 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 20901/32444 bytes (64.42%) of diff not shown. |
Offset 20, 15 lines modified | Offset 20, 15 lines modified | ||
20 | ··············•·int·*sib·:·pointer·to·sibling·vector,·size·n,·entries·in·the·range·[-1,n-1]\xd | 20 | ··············•·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\xd | 21 | ···········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.\xd | 22 | ···········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\xd | 23 | ···········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\xd | 24 | ···········was·intialized·correctly·and·that·the·par,·fch·and·sib·fields·point·to·storage·that·was·allocated·by\xd |
25 | ···········the·initializer·method.\xd | 25 | ···········the·initializer·method.\xd |
26 | ·············································1\xd | 26 | ·············································1\xd |
27 | ··············2····························Tree·:·DRAFT· | 27 | ··············2····························Tree·:·DRAFT·February·13,·2025\xd |
28 | ··············1.2···Prototypes·and·descriptions·of·Tree·methods\xd | 28 | ··············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\xd | 29 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the·Tree\xd |
30 | ··············object.\xd | 30 | ··············object.\xd |
31 | ··············1.2.1··Basic·methods\xd | 31 | ··············1.2.1··Basic·methods\xd |
32 | ··············As·usual,·there·are·four·basic·methods·to·support·object·creation,·setting·default·fields,·clearing\xd | 32 | ··············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.\xd | 33 | ··············any·allocated·data,·and·free’ing·the·object.\xd |
34 | ················1.·Tree·*·Tree_new·(·void·)·;\xd | 34 | ················1.·Tree·*·Tree_new·(·void·)·;\xd |
Offset 52, 15 lines modified | Offset 52, 15 lines modified | ||
52 | ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 52 | ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
53 | ················2.·int·Tree_root·(·Tree·*tree·)·;\xd | 53 | ················2.·int·Tree_root·(·Tree·*tree·)·;\xd |
54 | ··················This·method·returns·the·root·of·the·tree.\xd | 54 | ··················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.\xd | 55 | ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
56 | ················3.·int·*·Tree_par·(·Tree·*tree·)·;\xd | 56 | ················3.·int·*·Tree_par·(·Tree·*tree·)·;\xd |
57 | ··················This·method·returns·a·pointer·to·the·parent·vector.\xd | 57 | ··················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.\xd | 58 | ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
59 | ······································Tree·:·DRAFT·· | 59 | ······································Tree·:·DRAFT··February·13,·2025···················3\xd |
60 | ··············4.·int·*·Tree_fch·(·Tree·*tree·)·;\xd | 60 | ··············4.·int·*·Tree_fch·(·Tree·*tree·)·;\xd |
61 | ·················This·method·returns·a·pointer·to·the·first·child·vector.\xd | 61 | ·················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.\xd | 62 | ·················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
63 | ··············5.·int·*·Tree_sib·(·Tree·*tree·)·;\xd | 63 | ··············5.·int·*·Tree_sib·(·Tree·*tree·)·;\xd |
64 | ·················This·method·returns·a·pointer·to·the·sibling·vector.\xd | 64 | ·················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.\xd | 65 | ·················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
66 | ············1.2.3··Initializer·methods\xd | 66 | ············1.2.3··Initializer·methods\xd |
Offset 88, 15 lines modified | Offset 88, 15 lines modified | ||
88 | ·················The·subtree·object·is·initialized·from·the·tree·object,·the·nodes·that·are·included·are·those\xd | 88 | ·················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\xd | 89 | ·················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.\xd | 90 | ·················parent-child·link·in·the·tree.\xd |
91 | ·················Return·codes:\xd | 91 | ·················Return·codes:\xd |
92 | ································1··normal·return······-3··tree·is·NULL\xd | 92 | ································1··normal·return······-3··tree·is·NULL\xd |
93 | ································-1·subtree·is·NULL····-4··nodeidsIV·is·invalid\xd | 93 | ································-1·subtree·is·NULL····-4··nodeidsIV·is·invalid\xd |
94 | ································-2·nodeidsIV·is·NULL\xd | 94 | ································-2·nodeidsIV·is·NULL\xd |
95 | ··············4····························Tree·:·DRAFT· | 95 | ··············4····························Tree·:·DRAFT·February·13,·2025\xd |
96 | ················5.·void·Tree_setFchSibRoot·(·Tree·*tree·)·;\xd | 96 | ················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[]\xd | 97 | ··················Theroot·and·the·entries·in·the·fch[]·and·sib[]·vectors·are·set·using·the·entries·in·the·par[]\xd |
98 | ··················vector.\xd | 98 | ··················vector.\xd |
99 | ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 99 | ··················Error·checking:·If·tree·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
100 | ················6.·void·Tree_setRoot·(·Tree·*tree·)·;\xd | 100 | ················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\xd | 101 | ··················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.\xd | 102 | ··················is·set·to·the·head·of·the·list.\xd |
Offset 122, 15 lines modified | Offset 122, 15 lines modified | ||
122 | ··················This·method·returns·the·first·node·in·a·pre-order·traversal.\xd | 122 | ··················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\xd | 123 | ··················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd |
124 | ··················program·exits.\xd | 124 | ··················program·exits.\xd |
125 | ················5.·int·Tree_preOTnext·(·Tree·*tree,·int·v·)·;\xd | 125 | ················5.·int·Tree_preOTnext·(·Tree·*tree,·int·v·)·;\xd |
126 | ··················This·method·returns·the·node·that·follows·v·in·a·pre-order·traversal.\xd | 126 | ··················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\xd | 127 | ··················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.\xd | 128 | ··················message·is·printed·and·the·program·exits.\xd |
129 | ······································Tree·:·DRAFT·· | 129 | ······································Tree·:·DRAFT··February·13,·2025···················5\xd |
130 | ··············6.·int·Tree_nleaves·(·Tree·*tree·)·;\xd | 130 | ··············6.·int·Tree_nleaves·(·Tree·*tree·)·;\xd |
131 | ·················This·method·returns·the·number·of·leaves·of·the·tree.\xd | 131 | ·················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\xd | 132 | ·················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd |
133 | ·················program·exits.\xd | 133 | ·················program·exits.\xd |
134 | ··············7.·int·Tree_nroots·(·Tree·*tree·)·;\xd | 134 | ··············7.·int·Tree_nroots·(·Tree·*tree·)·;\xd |
135 | ·················This·method·returns·the·number·of·roots·of·the·tree·(really·a·forest).\xd | 135 | ·················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\xd | 136 | ·················Error·checking:·If·tree·is·NULL,·or·if·tree->n·<·1,·an·error·message·is·printed·and·the\xd |
Offset 155, 15 lines modified | Offset 155, 15 lines modified | ||
155 | ··············12.·IV·*·Tree_maximizeGainIV·(·Tree·*tree,·IV·*gainIV,·int·*ptotalgain,\xd | 155 | ··············12.·IV·*·Tree_maximizeGainIV·(·Tree·*tree,·IV·*gainIV,·int·*ptotalgain,\xd |
156 | ··········································int·msglvl,·FILE·*msgFile·)·;\xd | 156 | ··········································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\xd | 157 | ·················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-\xd | 158 | ·················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.\xd | 159 | ·················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\xd | 160 | ·················Error·checking:·If·tree,·gainIV·or·ptotalgain·is·NULL,·an·error·message·is·printed·and·the\xd |
161 | ·················program·exits.\xd | 161 | ·················program·exits.\xd |
162 | ··············6····························Tree·:·DRAFT· | 162 | ··············6····························Tree·:·DRAFT·February·13,·2025\xd |
163 | ··············1.2.5··Metrics·methods\xd | 163 | ··············1.2.5··Metrics·methods\xd |
164 | ··············Manyoperations·need·to·know·some·metric·defined·on·the·nodes·in·a·tree.·Here·are·three·examples:\xd | 164 | ··············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\xd | 165 | ··············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\xd | 166 | ··············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\xd | 167 | ··············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.\xd | 168 | ··············the·nodes·on·the·path.\xd |
169 | ·················Metrics·can·be·int·or·double.·Because·of·the·limitations·of·C,·we·need·two·separate·methods\xd | 169 | ·················Metrics·can·be·int·or·double.·Because·of·the·limitations·of·C,·we·need·two·separate·methods\xd |
Offset 191, 15 lines modified | Offset 191, 15 lines modified | ||
191 | ··················These·methods·create·and·return·IV·or·DV·objects·that·contain·height·metrics·using·as·input\xd | 191 | ··················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\xd | 192 | ··················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\xd | 193 | ··················in·the·returned·IV·or·DV·object,·then\xd |
194 | ··················hmetric[v]·=·vmetric[v]·if·fch[v]·==·-1\xd | 194 | ··················hmetric[v]·=·vmetric[v]·if·fch[v]·==·-1\xd |
195 | ······························=·vmetric[v]·+·max_{par[u]·=·v}·hmetric[par[v]]\xd | 195 | ······························=·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\xd | 196 | ··················Error·checking:·If·tree·or·vmetric{I,D}V·is·NULL,·an·error·message·is·printed·and·the\xd |
197 | ··················program·exits.\xd | 197 | ··················program·exits.\xd |
198 | ················································· | 198 | ·················································Tree·:·DRAFT·······February·13,·2025······························7\xd |
199 | ················1.2.6····Compression·methods\xd | 199 | ················1.2.6····Compression·methods\xd |
200 | ················Frequently·a·tree·will·need·to·be·compressed·in·some·manner.·Elimination·trees·usually·have·long\xd | 200 | ················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\xd | 201 | ················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\xd | 202 | ················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\xd | 203 | ················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.\xd | 204 | ················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\xd | 205 | ····················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 modified | Offset 232, 15 lines modified | ||
232 | ······················Error·checking:·If·tree·or·map·is·NULL,·or·if·n·<·1,·an·error·message·is·printed·and·the\xd | 232 | ······················Error·checking:·If·tree·or·map·is·NULL,·or·if·n·<·1,·an·error·message·is·printed·and·the\xd |
233 | ······················program·exits.\xd | 233 | ······················program·exits.\xd |
234 | ···················2.·void·Tree_leftJustifyI·(·Tree·*tree,·IV·*metricIV·)·;\xd | 234 | ···················2.·void·Tree_leftJustifyI·(·Tree·*tree,·IV·*metricIV·)·;\xd |
235 | ······················void·Tree_leftJustifyD·(·Tree·*tree,·DV·*metricIV·)·;\xd | 235 | ······················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\xd | 236 | ······················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\xd | 237 | ······················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.\xd | 238 | ······················rooted·at·u·is·as·large·or·larger·than·the·weight·of·the·subtree·rooted·at·v.\xd |
239 | ··············8····························Tree·:·DRAFT· | 239 | ··············8····························Tree·:·DRAFT·February·13,·2025\xd |
240 | ··················Error·checking:·If·tree·or·metricIV·is·NULL,·or·if·n·<·1,·or·if·n·is·not·the·size·of·metricIV,\xd | 240 | ··················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.\xd | 241 | ··················an·error·message·is·printed·and·the·program·exits.\xd |
242 | ··············1.2.8··Permutation·methods\xd | 242 | ··············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\xd | 243 | ··············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.\xd | 244 | ··············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.\xd | 245 | ··············re-label·the·nodes.\xd |
246 | ················1.·void·Tree_fillNewToOldPerm·(·Tree·*tree,·int·newToOld[]·)·;\xd | 246 | ················1.·void·Tree_fillNewToOldPerm·(·Tree·*tree,·int·newToOld[]·)·;\xd |
Offset 269, 15 lines modified | Offset 269, 15 lines modified | ||
269 | ··················Return·codes:\xd | 269 | ··················Return·codes:\xd |
270 | ···································1··normal·return··········-3··coordflag·is·invalid\xd | 270 | ···································1··normal·return··········-3··coordflag·is·invalid\xd |
271 | ··································-1··tree·is·NULL···········-3··xDV·is·NULL\xd | 271 | ··································-1··tree·is·NULL···········-3··xDV·is·NULL\xd |
272 | ··································-2··heightflag·is·invalid··-4··yDV·is·NULL\xd | 272 | ··································-2··heightflag·is·invalid··-4··yDV·is·NULL\xd |
273 | ················2.·int·Tree_drawToEPS·(·Tree·*tree,·FILE·*filename,·DV·*xDV,·DV·*yDV,\xd | 273 | ················2.·int·Tree_drawToEPS·(·Tree·*tree,·FILE·*filename,·DV·*xDV,·DV·*yDV,\xd |
274 | ········································double·rscale,·DV·*radiusDV,·int·labelflag,\xd | 274 | ········································double·rscale,·DV·*radiusDV,·int·labelflag,\xd |
275 | ········································double·fontscale,·IV·*labelsIV,·double·bbox[],\xd | 275 | ········································double·fontscale,·IV·*labelsIV,·double·bbox[],\xd |
276 | ······································Tree·:·DRAFT·· | 276 | ······································Tree·:·DRAFT··February·13,·2025···················9\xd |
277 | ····································double·frame[],·double·bounds[]·)·;\xd | 277 | ····································double·frame[],·double·bounds[]·)·;\xd |
278 | ·················This·method·draws·a·tree.·The·coordinates·of·the·nodes·are·found·in·the·xDV·and·yDV·vectors.\xd | 278 | ·················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\xd | 279 | ·················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\xd | 280 | ·················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\xd | 281 | ·················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.)\xd | 282 | ·················points·to·the·inch.)\xd |
283 | ·················If·labelflag·=·1,·the·nodes·will·have·a·numeric·label.·If·labelsIV·is·NULL,·then·the·label\xd | 283 | ·················If·labelflag·=·1,·the·nodes·will·have·a·numeric·label.·If·labelsIV·is·NULL,·then·the·label\xd |
Max diff block lines reached; 4972/15731 bytes (31.61%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·Utilities.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·Utilities.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 3359, 19 lines modified | Offset 3359, 21 lines modified | ||
3359 | end·readonly·def | 3359 | end·readonly·def |
3360 | /Encoding·256·array | 3360 | /Encoding·256·array |
3361 | 0·1·255·{1·index·exch·/.notdef·put}·for | 3361 | 0·1·255·{1·index·exch·/.notdef·put}·for |
3362 | dup·44·/comma·put | 3362 | dup·44·/comma·put |
3363 | dup·48·/zero·put | 3363 | dup·48·/zero·put |
3364 | dup·49·/one·put | 3364 | dup·49·/one·put |
3365 | dup·50·/two·put | 3365 | dup·50·/two·put |
3366 | dup·51·/three·put | ||
3366 | dup·5 | 3367 | dup·53·/five·put |
3367 | dup·58·/colon·put | 3368 | dup·58·/colon·put |
3368 | dup·7 | 3369 | dup·70·/F·put |
3369 | dup·97·/a·put | 3370 | dup·97·/a·put |
3371 | dup·98·/b·put | ||
3370 | dup·1 | 3372 | dup·101·/e·put |
3371 | dup·114·/r·put | 3373 | dup·114·/r·put |
3372 | dup·117·/u·put | 3374 | dup·117·/u·put |
3373 | dup·121·/y·put | 3375 | dup·121·/y·put |
3374 | readonly·def | 3376 | readonly·def |
3375 | currentdict·end | 3377 | currentdict·end |
3376 | currentfile·eexec | 3378 | currentfile·eexec |
3377 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 3379 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 3555, 83 lines modified | Offset 3557, 94 lines modified | ||
3555 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 3557 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
3556 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 3558 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
3557 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 3559 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
3558 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 3560 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
3559 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 3561 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
3560 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 3562 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
3561 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 3563 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
3562 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 3564 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
3563 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
3564 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
3565 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
3566 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
3567 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
3568 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
3569 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
3570 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
3571 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
3572 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
3573 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
3574 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
3575 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
3576 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
3577 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
3578 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
3579 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
3580 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
3581 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
3582 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
3583 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
3584 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
3585 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
3586 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
3587 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
3588 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
3589 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
3590 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
3591 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
3592 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
3593 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
3594 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
3595 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
3596 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
3597 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
3598 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
3599 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
3600 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
3601 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
3602 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
3603 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
3604 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
3605 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
3606 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
3607 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
3608 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
3609 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
3610 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
3611 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
3612 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
3613 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
3614 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
3615 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
3616 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
3617 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
3618 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
3619 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
3620 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
3621 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
3622 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
3623 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
3624 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
3625 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
3626 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
3627 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
3628 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
3629 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
3630 | 3565 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
3566 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
3567 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
3568 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
3569 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
3570 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
3571 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
3572 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
3573 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
3574 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
3575 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
3576 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
3577 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
3578 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 62299/73847 bytes (84.36%) of diff not shown. |
Offset 22, 15 lines modified | Offset 22, 15 lines modified | ||
22 | ·····················struct·_I2OP·{\xd | 22 | ·····················struct·_I2OP·{\xd |
23 | ·······················int···value0·;\xd | 23 | ·······················int···value0·;\xd |
24 | ·······················int···value1·;\xd | 24 | ·······················int···value1·;\xd |
25 | ·······················void··*value2·;\xd | 25 | ·······················void··*value2·;\xd |
26 | ·······················I2OP··*next··;\xd | 26 | ·······················I2OP··*next··;\xd |
27 | ·····················}·;\xd | 27 | ·····················}·;\xd |
28 | ·············································1\xd | 28 | ·············································1\xd |
29 | ··············2························· | 29 | ··············2·························Utilities·:·DRAFT·February·13,·2025\xd |
30 | ··············1.2···Prototypes·and·descriptions·of·Utilities·methods\xd | 30 | ··············1.2···Prototypes·and·descriptions·of·Utilities·methods\xd |
31 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd | 31 | ··············This·section·contains·brief·descriptions·including·prototypes·of·all·methods·that·belong·to·the\xd |
32 | ··············Utilities·directory.\xd | 32 | ··············Utilities·directory.\xd |
33 | ··············1.2.1··CV·:·char·vector·methods\xd | 33 | ··············1.2.1··CV·:·char·vector·methods\xd |
34 | ················1.·char·*·CVinit·(·int·n,·char·c·)·;\xd | 34 | ················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\xd | 35 | ···················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.\xd | 36 | ···················n·is·found·and·each·entry·is·filled·with·character·c.·A·pointer·to·the·array·is·returned.\xd |
Offset 54, 15 lines modified | Offset 54, 15 lines modified | ||
54 | ················8.·int·CVfscanf·(·FILE·*fp,·int·n,·char·y[]·)·;\xd | 54 | ················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\xd | 55 | ···················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.\xd | 56 | ···················read·in·n·characters,·and·returns·the·number·that·were·actually·read.\xd |
57 | ··············1.2.2··DV·:·double·vector·methods\xd | 57 | ··············1.2.2··DV·:·double·vector·methods\xd |
58 | ················1.·double·*·DVinit·(·int·n,·double·val·)·;\xd | 58 | ················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\xd | 59 | ···················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.\xd | 60 | ···················n·is·found·and·each·entry·is·filled·with·val.·A·pointer·to·the·array·is·returned.\xd |
61 | ····································Utilities·:·DRAFT·· | 61 | ····································Utilities·:·DRAFT··February·13,·2025·················3\xd |
62 | ···············2.·double·*·DVinit2·(·int·n·)·;\xd | 62 | ···············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\xd | 63 | ·················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.\xd | 64 | ·················pointer·to·the·array·is·returned.·Note,·on·return,·there·will·likely·be·garbage·in·the·array.\xd |
65 | ···············3.·void·DVfree·(·int·vec[]·)·;\xd | 65 | ···············3.·void·DVfree·(·int·vec[]·)·;\xd |
66 | ·················This·method·releases·the·storage·taken·by·vec[].\xd | 66 | ·················This·method·releases·the·storage·taken·by·vec[].\xd |
67 | ···············4.·void·DVfprintf·(·FILE·*fp,·int·n,·double·y[]·)·;\xd | 67 | ···············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\xd | 68 | ·················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 modified | Offset 90, 15 lines modified | ||
90 | ·················This·method·computes·this·computation.\xd | 90 | ·················This·method·computes·this·computation.\xd |
91 | ·················y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]\xd | 91 | ·················y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]\xd |
92 | ·················y1[]·=·y1[]·+·alpha[2]·*·x0[]·+·alpha[3]·*·x1[]\xd | 92 | ·················y1[]·=·y1[]·+·alpha[2]·*·x0[]·+·alpha[3]·*·x1[]\xd |
93 | ·················y2[]·=·y2[]·+·alpha[4]·*·x0[]·+·alpha[5]·*·x1[]\xd | 93 | ·················y2[]·=·y2[]·+·alpha[4]·*·x0[]·+·alpha[5]·*·x1[]\xd |
94 | ··············11.·void·DVaxpy31·(·int·n,·double·y0[],·double·y1[],·double·y2[],\xd | 94 | ··············11.·void·DVaxpy31·(·int·n,·double·y0[],·double·y1[],·double·y2[],\xd |
95 | ································double·alpha,·double·x0[],·double·x1[]·)·;\xd | 95 | ································double·alpha,·double·x0[],·double·x1[]·)·;\xd |
96 | ·················This·method·computes·this·computation.\xd | 96 | ·················This·method·computes·this·computation.\xd |
97 | ·······4·············Utilities·:·DRAFT· | 97 | ·······4·············Utilities·:·DRAFT·February·13,·2025\xd |
98 | ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]\xd | 98 | ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]\xd |
99 | ··········y1[]·=·y1[]·+·alpha[1]·*·x0[]\xd | 99 | ··········y1[]·=·y1[]·+·alpha[1]·*·x0[]\xd |
100 | ··········y2[]·=·y2[]·+·alpha[2]·*·x0[]\xd | 100 | ··········y2[]·=·y2[]·+·alpha[2]·*·x0[]\xd |
101 | ········12.·void·DVaxpy23·(·int·n,·double·y0[],·double·y1[],\xd | 101 | ········12.·void·DVaxpy23·(·int·n,·double·y0[],·double·y1[],\xd |
102 | ··················double·alpha,·double·x0[],·double·x1[],·double·x2[]·)·;\xd | 102 | ··················double·alpha,·double·x0[],·double·x1[],·double·x2[]·)·;\xd |
103 | ··········This·method·computes·this·computation.\xd | 103 | ··········This·method·computes·this·computation.\xd |
104 | ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]·+·alpha[2]·*·x2[]\xd | 104 | ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]·+·alpha[2]·*·x2[]\xd |
Offset 121, 15 lines modified | Offset 121, 15 lines modified | ||
121 | ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]\xd | 121 | ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]·+·alpha[1]·*·x1[]\xd |
122 | ········17.·void·DVaxpy11·(·int·n,·double·y0[],·double·alpha,·double·x0[]·)·;\xd | 122 | ········17.·void·DVaxpy11·(·int·n,·double·y0[],·double·alpha,·double·x0[]·)·;\xd |
123 | ··········This·method·computes·this·computation.\xd | 123 | ··········This·method·computes·this·computation.\xd |
124 | ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]\xd | 124 | ··········y0[]·=·y0[]·+·alpha[0]·*·x0[]\xd |
125 | ········18.·void·DVaxpyi·(·int·n,·double·y[],·int·index[],·double·alpha,·double·x[]·)·;\xd | 125 | ········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]]\xd | 126 | ··········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.\xd | 127 | ··········+=·alpha·*·x[i]·for·0·<=·i·<·n.\xd |
128 | ·······································Utilities·:·DRAFT···· | 128 | ·······································Utilities·:·DRAFT····February·13,·2025····················5\xd |
129 | ···············19.·void·DVcompress·(·int·n1,·double·x1[],·double·y1[],\xd | 129 | ···············19.·void·DVcompress·(·int·n1,·double·x1[],·double·y1[],\xd |
130 | ·····································int·n2,·double·x2[],·double·y2[]·)·;\xd | 130 | ·····································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\xd | 131 | ··················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.\xd | 132 | ··················(x1[j],y1[j]·entries·whose·distribution·is·an·approximation.\xd |
133 | ···············20.·void·DVcopy·(·int·n,·double·y[],·double·x[]·)·;\xd | 133 | ···············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.\xd | 134 | ··················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[]·)·;\xd | 135 | ···············21.·int·DVdot·(·int·n,·double·y[],·double·x[]·)·;\xd |
Offset 167, 15 lines modified | Offset 167, 15 lines modified | ||
167 | ····························i=0\xd | 167 | ····························i=0\xd |
168 | ····························n−1\xd | 168 | ····························n−1\xd |
169 | ···················sums[1]·=·Xrow1[i]∗col0[i]\xd | 169 | ···················sums[1]·=·Xrow1[i]∗col0[i]\xd |
170 | ····························i=0\xd | 170 | ····························i=0\xd |
171 | ····························n−1\xd | 171 | ····························n−1\xd |
172 | ···················sums[2]·=·Xrow2[i]∗col0[i]\xd | 172 | ···················sums[2]·=·Xrow2[i]∗col0[i]\xd |
173 | ····························i=0\xd | 173 | ····························i=0\xd |
174 | ·············6··························Utilities·:·DRAFT· | 174 | ·············6··························Utilities·:·DRAFT·February·13,·2025\xd |
175 | ···············25.·int·DVdot23·(·int·n,·double·row0[],·double·row1[],\xd | 175 | ···············25.·int·DVdot23·(·int·n,·double·row0[],·double·row1[],\xd |
176 | ·································double·col0[],·double·col1[],·double·col2[],·double·sums[]·)·;\xd | 176 | ·································double·col0[],·double·col1[],·double·col2[],·double·sums[]·)·;\xd |
177 | ··················This·method·computes·six·dot·products.\xd | 177 | ··················This·method·computes·six·dot·products.\xd |
178 | ····························n−1··························n−1·························n−1\xd | 178 | ····························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]\xd | 179 | ···················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\xd | 180 | ····························i=0··························i=0·························i=0\xd |
181 | ····························n−1··························n−1·························n−1\xd | 181 | ····························n−1··························n−1·························n−1\xd |
Offset 212, 15 lines modified | Offset 212, 15 lines modified | ||
212 | ···················sums[0]·=·Xrow0[i]∗col0[i]···sums[1]·=·Xrow0[i]∗col1[i]\xd | 212 | ···················sums[0]·=·Xrow0[i]∗col0[i]···sums[1]·=·Xrow0[i]∗col1[i]\xd |
213 | ····························i=0··························i=0\xd | 213 | ····························i=0··························i=0\xd |
214 | ···············30.·int·DVdot11·(·int·n,·double·row0[],·double·col0[],·double·sums[]·)·;\xd | 214 | ···············30.·int·DVdot11·(·int·n,·double·row0[],·double·col0[],·double·sums[]·)·;\xd |
215 | ··················This·method·computes·one·dot·product.\xd | 215 | ··················This·method·computes·one·dot·product.\xd |
216 | ····························n−1\xd | 216 | ····························n−1\xd |
217 | ···················sums[0]·=·Xrow0[i]∗col0[i]\xd | 217 | ···················sums[0]·=·Xrow0[i]∗col0[i]\xd |
218 | ····························i=0\xd | 218 | ····························i=0\xd |
219 | ····································Utilities·:·DRAFT·· | 219 | ····································Utilities·:·DRAFT··February·13,·2025·················7\xd |
220 | ··············31.·int·DVdoti·(·int·n,·double·y[],·int·index[],·double·x[]·)·;\xd | 220 | ··············31.·int·DVdoti·(·int·n,·double·y[],·int·index[],·double·x[]·)·;\xd |
221 | ······················································n−1\xd | 221 | ······················································n−1\xd |
222 | ·················This·method·returns·the·indexed·dot·product·Xy[index[i]]∗x[i].\xd | 222 | ·················This·method·returns·the·indexed·dot·product·Xy[index[i]]∗x[i].\xd |
223 | ······················································i=0\xd | 223 | ······················································i=0\xd |
224 | ··············32.·void·DVfill·(·int·n,·double·y[],·double·val·)·;\xd | 224 | ··············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.\xd | 225 | ·················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[]·)·;\xd | 226 | ··············33.·void·DVgather·(·int·n,·double·y[],·double·x[],·int·index[]·)·;\xd |
Offset 248, 15 lines modified | Offset 248, 15 lines modified | ||
248 | ·················This·method·permutes·the·vector·y·as·follows.·i.e.,·y[i]·:=·y[index[i]].·See·DVinvPerm()\xd | 248 | ·················This·method·permutes·the·vector·y·as·follows.·i.e.,·y[i]·:=·y[index[i]].·See·DVinvPerm()\xd |
249 | ·················for·a·similar·function.\xd | 249 | ·················for·a·similar·function.\xd |
250 | ··············42.·void·DVramp·(·int·n,·double·y[],·double·start,·double·inc·)·;\xd | 250 | ··············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\xd | 251 | ·················This·method·fills·n·entries·in·y[]·with·values·start,·start·+·inc,·start·+·2*inc,·start\xd |
252 | ·················+·3*inc,·etc.\xd | 252 | ·················+·3*inc,·etc.\xd |
253 | ··············43.·void·DVscale·(·int·n,·double·y[],·double·alpha·)·;\xd | 253 | ··············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.\xd | 254 | ·················This·method·scales·a·vector·y[]·by·alpha,·i.e.,·y[i]·*=·alpha.·for·0·<=·i·<·n.\xd |
255 | ·····························8························································· | 255 | ·····························8·························································Utilities·:·DRAFT·February·13,·2025\xd |
256 | ································44.·void·DVscale2·(·int·n,·double·x[],·double·y[],\xd | 256 | ································44.·void·DVscale2·(·int·n,·double·x[],·double·y[],\xd |
257 | ·············································································double·a,·double·b,·double·c,·double·d·)·;\xd | 257 | ·············································································double·a,·double·b,·double·c,·double·d·)·;\xd |
258 | ········································This·method·scales·two·vectors·y[]·by·a·2·×2·matrix,·i.e.,\xd | 258 | ········································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]·#.\xd | 259 | ·······································································"·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]\xd | 260 | ············································································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[]·)·;\xd | 261 | ································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\xd | 262 | ········································This·method·scatters·n·entries·of·x[]·into·y[]·as·follows,·y[index[i]]·=·x[i]·for·0·<=·i\xd |
Offset 284, 15 lines modified | Offset 284, 15 lines modified | ||
284 | ········································This·method·swaps·the·x[]·and·y[]·vectors·as·follows.·i.e.,·y[i]·:=·x[i]·and·x[i]·:=\xd | 284 | ········································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.\xd | 285 | ········································y[i]·for·0·<=·i·<·n.\xd |
286 | ································53.·void·DVzero·(·int·n,·double·y[]·)·;\xd | 286 | ································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.\xd | 287 | ········································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·)·;\xd | 288 | ································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\xd | 289 | ········································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.\xd | 290 | ········································generator,·and·one·can·get·repeatable·behavior·by·repeating·seed.\xd |
291 | ····································Utilities·:·DRAFT·· | 291 | ····································Utilities·:·DRAFT··February·13,·2025·················9\xd |
292 | ············1.2.3··ZV·:·double·complex·vector·methods\xd | 292 | ············1.2.3··ZV·:·double·complex·vector·methods\xd |
293 | ············Adoubleprecisioncomplexvector·oflengthnissimplya·doubleprecisionvector·oflength2n.·There\xd | 293 | ············Adoubleprecisioncomplexvector·oflengthnissimplya·doubleprecisionvector·oflength2n.·There\xd |
294 | ············is·a·separate·ZVinit()·allocator·and·initializer·method,·since·it·requires·a·real·and·imaginary·part\xd | 294 | ············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\xd | 295 | ············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\xd | 296 | ············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.\xd | 297 | ············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·)·;\xd | 298 | ···············1.·double·*·ZVinit·(·int·n,·double·real,·double·imag·)·;\xd |
Max diff block lines reached; 28064/38176 bytes (73.51%) of diff not shown. |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·ZV.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·ZV.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2352, 19 lines modified | Offset 2352, 21 lines modified | ||
2352 | end·readonly·def | 2352 | end·readonly·def |
2353 | /Encoding·256·array | 2353 | /Encoding·256·array |
2354 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2354 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2355 | dup·44·/comma·put | 2355 | dup·44·/comma·put |
2356 | dup·48·/zero·put | 2356 | dup·48·/zero·put |
2357 | dup·49·/one·put | 2357 | dup·49·/one·put |
2358 | dup·50·/two·put | 2358 | dup·50·/two·put |
2359 | dup·51·/three·put | ||
2359 | dup·5 | 2360 | dup·53·/five·put |
2360 | dup·58·/colon·put | 2361 | dup·58·/colon·put |
2361 | dup·7 | 2362 | dup·70·/F·put |
2362 | dup·97·/a·put | 2363 | dup·97·/a·put |
2364 | dup·98·/b·put | ||
2363 | dup·1 | 2365 | dup·101·/e·put |
2364 | dup·114·/r·put | 2366 | dup·114·/r·put |
2365 | dup·117·/u·put | 2367 | dup·117·/u·put |
2366 | dup·121·/y·put | 2368 | dup·121·/y·put |
2367 | readonly·def | 2369 | readonly·def |
2368 | currentdict·end | 2370 | currentdict·end |
2369 | currentfile·eexec | 2371 | currentfile·eexec |
2370 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2372 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2548, 83 lines modified | Offset 2550, 94 lines modified | ||
2548 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2550 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2549 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2551 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2550 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2552 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2551 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2553 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2552 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2554 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2553 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2555 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2554 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2556 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2555 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2557 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2556 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2557 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2558 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2559 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2560 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2561 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2562 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2563 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2564 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2565 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2566 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2567 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2568 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2569 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2570 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2571 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2572 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2573 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2574 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2575 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2576 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2577 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2578 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2579 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2580 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2581 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2582 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2583 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2584 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2585 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2586 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2587 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2588 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2589 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2590 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2591 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2592 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2593 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2594 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2595 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2596 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2597 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2598 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2599 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2600 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2601 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2602 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2603 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2604 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2605 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2606 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2607 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2608 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2609 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2610 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2611 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2612 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2613 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2614 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2615 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2616 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2617 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2618 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2619 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2620 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2621 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2622 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2623 | 2558 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2559 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2560 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2561 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2562 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2563 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2564 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2565 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2566 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2567 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2568 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2569 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2570 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2571 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 11937/23478 bytes (50.84%) of diff not shown. |
Offset 22, 15 lines modified | Offset 22, 15 lines modified | ||
22 | ···············Onemustchoose·where·to·use·this·object.·There·is·a·substantial·performance·penalty·for·doing·the\xd | 22 | ···············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\xd | 23 | ···············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\xd | 24 | ···············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.\xd | 25 | ···············makes·it·a·widely·used·object.\xd |
26 | ···············1.1····Data·Structure\xd | 26 | ···············1.1····Data·Structure\xd |
27 | ···············The·ZV·structure·has·three·fields.\xd | 27 | ···············The·ZV·structure·has·three·fields.\xd |
28 | ·····························································1\xd | 28 | ·····························································1\xd |
29 | ··············2·····························ZV·:·DRAFT· | 29 | ··············2·····························ZV·:·DRAFT·February·13,·2025\xd |
30 | ·················•·int·size·:·present·size·of·the·vector.\xd | 30 | ·················•·int·size·:·present·size·of·the·vector.\xd |
31 | ·················•·int·maxsize·:·maximum·size·of·the·vector.\xd | 31 | ·················•·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\xd | 32 | ·················•·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·,\xd | 33 | ···················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\xd | 34 | ···················this·object·points·to·entries·that·have·been·allocated·elsewhere,·and·these·entries·will·not·be\xd |
35 | ···················free’d·by·this·object.\xd | 35 | ···················free’d·by·this·object.\xd |
36 | ·················•·double·*vec·:·pointer·to·the·base·address·of·the·double·vector\xd | 36 | ·················•·double·*vec·:·pointer·to·the·base·address·of·the·double·vector\xd |
Offset 54, 15 lines modified | Offset 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\xd | 54 | ···················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().\xd | 55 | ···················with·a·call·to·ZV·setDefaultFields().\xd |
56 | ···················Error·checking:·If·zv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd | 56 | ···················Error·checking:·If·zv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd |
57 | ················4.·void·ZV_free·(·ZV·*zv·)·;\xd | 57 | ················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\xd | 58 | ···················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().\xd | 59 | ···················structure·with·a·call·to·free().\xd |
60 | ···················Error·checking:·If·zv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd | 60 | ···················Error·checking:·If·zv·is·NULL·an·error·message·is·printed·and·the·program·exits.\xd |
61 | ·······································ZV·:·DRAFT·· | 61 | ·······································ZV·:·DRAFT··February·13,·2025·····················3\xd |
62 | ············1.2.2··Instance·methods\xd | 62 | ············1.2.2··Instance·methods\xd |
63 | ············These·method·allow·access·to·information·in·the·data·fields·without·explicitly·following·pointers.\xd | 63 | ············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\xd | 64 | ············There·is·overhead·involved·with·these·method·due·to·the·function·call·and·error·checking·inside\xd |
65 | ············the·methods.\xd | 65 | ············the·methods.\xd |
66 | ···············1.·int·ZV_owned·(·ZV·*zv·)·;\xd | 66 | ···············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\xd | 67 | ·················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\xd | 68 | ·················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 modified | Offset 91, 15 lines modified | ||
91 | ·················This·method·returns·vec,·a·pointer·to·the·base·address·of·the·vector.\xd | 91 | ·················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.\xd | 92 | ·················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·)·;\xd | 93 | ···············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\xd | 94 | ·················This·method·fills·*psize·with·the·size·of·the·vector·and·**pentries·with·the·base·address\xd |
95 | ·················of·the·vector.\xd | 95 | ·················of·the·vector.\xd |
96 | ·················Error·checking:·If·zv,·psize·or·pentriesis·NULL,·an·error·message·is·printed·and·the·program\xd | 96 | ·················Error·checking:·If·zv,·psize·or·pentriesis·NULL,·an·error·message·is·printed·and·the·program\xd |
97 | ·················exits.\xd | 97 | ·················exits.\xd |
98 | ··············4·····························ZV·:·DRAFT· | 98 | ··············4·····························ZV·:·DRAFT·February·13,·2025\xd |
99 | ················8.·void·ZV_setEntry·(·ZV·*zv,·int·loc,·double·real,·double·imag·)·;\xd | 99 | ················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).\xd | 100 | ···················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.\xd | 101 | ···················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\xd | 102 | ··············1.2.3··Initializer·methods\xd |
103 | ··············There·are·three·initializer·methods.\xd | 103 | ··············There·are·three·initializer·methods.\xd |
104 | ················1.·void·ZV_init·(·ZV·*zv,·int·size,·double·*entries·)·;\xd | 104 | ················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\xd | 105 | ···················This·method·initializes·the·object·given·a·size·for·the·vector·and·a·possible·pointer·to·the\xd |
Offset 128, 15 lines modified | Offset 128, 15 lines modified | ||
128 | ···················Error·checking:·If·zv·is·NULL·or·newmaxsize·<·0,·or·if·0·<·maxsize·and·owned·==·0,·an\xd | 128 | ···················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.\xd | 129 | ···················error·message·is·printed·and·the·program·exits.\xd |
130 | ················5.·void·ZV_setSize·(·ZV·*zv,·int·newsize·)·;\xd | 130 | ················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\xd | 131 | ···················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.\xd | 132 | ···················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·=\xd | 133 | ···················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.\xd | 134 | ···················0,·an·error·message·is·printed·and·the·program·exits.\xd |
135 | ·······································ZV·:·DRAFT·· | 135 | ·······································ZV·:·DRAFT··February·13,·2025·····················5\xd |
136 | ············1.2.4··Utility·methods\xd | 136 | ············1.2.4··Utility·methods\xd |
137 | ···············1.·void·ZV_shiftBase·(·ZV·*zv,·int·offset·)·;\xd | 137 | ···············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-\xd | 138 | ·················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\xd | 139 | ·················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\xd | 140 | ·················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\xd | 141 | ·················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\xd | 142 | ·················shifted·back·to·its·original·position,·a·segmentation·violation·will·likely·result.·This·is·a·very\xd |
Offset 162, 15 lines modified | Offset 162, 15 lines modified | ||
162 | ·················This·method·fills·the·vector·with·zeros.\xd | 162 | ·················This·method·fills·the·vector·with·zeros.\xd |
163 | ·················Error·checking:·If·zv·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 163 | ·················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·)·;\xd | 164 | ···············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,\xd | 165 | ·················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\xd | 166 | ·················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.\xd | 167 | ·················of·the·two·sizes.\xd |
168 | ·················Error·checking:·If·zv1·or·zv2·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd | 168 | ·················Error·checking:·If·zv1·or·zv2·is·NULL,·an·error·message·is·printed·and·the·program·exits.\xd |
169 | ··············6·····························ZV·:·DRAFT· | 169 | ··············6·····························ZV·:·DRAFT·February·13,·2025\xd |
170 | ················8.·void·ZV_log10profile·(·ZV·*zv,·int·npts,·DV·*xDV,·DV·*yDV,·double·tausmall,\xd | 170 | ················8.·void·ZV_log10profile·(·ZV·*zv,·int·npts,·DV·*xDV,·DV·*yDV,·double·tausmall,\xd |
171 | ··········································double·taubig,·int·*pnzero,·int·*pnsmall,·int·*pnbig·)·;\xd | 171 | ··········································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\xd | 172 | ···················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,\xd | 173 | ···················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,\xd | 174 | ···················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,\xd | 175 | ···················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.\xd | 176 | ···················respectively.·On·return,·the·size·of·the·xDV·and·yDV·objects·is·npts.\xd |
Offset 199, 15 lines modified | Offset 199, 15 lines modified | ||
199 | ···················and·returns·the·value·returned·from·the·called·routine.\xd | 199 | ···················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)\xd | 200 | ···················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.\xd | 201 | ···················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·)·;\xd | 202 | ················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,\xd | 203 | ···················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.\xd | 204 | ···················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.\xd | 205 | ···················Error·checking:·If·zv·or·fp·are·NULL,·an·error·message·is·printed·and·zero·is·returned.\xd |
206 | ·······································ZV·:·DRAFT·· | 206 | ·······································ZV·:·DRAFT··February·13,·2025·····················7\xd |
207 | ···············6.·int·ZV_writeToBinaryFile·(·ZV·*zv,·FILE·*fp·)·;\xd | 207 | ···············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\xd | 208 | ·················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.\xd | 209 | ·················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.\xd | 210 | ·················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·)·;\xd | 211 | ···············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\xd | 212 | ·················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\xd | 213 | ·················the·header·and·statistics.·The·entries·of·the·vector·then·follow·in·eighty·column·format·using\xd |
Offset 232, 15 lines modified | Offset 232, 15 lines modified | ||
232 | ···················•·The·msglvl·parameter·determines·the·amount·of·output.·Use·msglvl·=·1·for·just\xd | 232 | ···················•·The·msglvl·parameter·determines·the·amount·of·output.·Use·msglvl·=·1·for·just\xd |
233 | ·····················timing·output.\xd | 233 | ·····················timing·output.\xd |
234 | ···················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 234 | ···················•·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\xd | 235 | ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd |
236 | ·····················data.\xd | 236 | ·····················data.\xd |
237 | ···················•·The·inFile·parameter·is·the·name·of·the·file·from·which·to·read·in·the·object.·inFile\xd | 237 | ···················•·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.\xd | 238 | ·····················must·be·of·the·form·*.zvf·for·a·formatted·file·or·*.zvb·for·a·binary·file.\xd |
239 | ·······8···············ZV·:·DRAFT· | 239 | ·······8···············ZV·:·DRAFT·February·13,·2025\xd |
240 | ···········•·The·outFile·parameter·is·the·name·of·the·file·to·which·to·write·out·the·object.·If\xd | 240 | ···········•·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\xd | 241 | ············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\xd | 242 | ············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\xd | 243 | ············object·is·written·to·the·file·in·a·human·readable·format.·When·outFile·is·"none",·the\xd |
244 | ············object·is·not·written·out.\xd | 244 | ············object·is·not·written·out.\xd |
245 | ·······Index\xd | 245 | ·······Index\xd |
246 | ·······ZV·clearData(),·2\xd | 246 | ·······ZV·clearData(),·2\xd |
Offset 11, 15 lines modified | Offset 11, 15 lines modified | ||
11 | %%EndComments | 11 | %%EndComments |
12 | %%BeginDefaults | 12 | %%BeginDefaults |
13 | %%ViewingOrientation:·1·0·0·1 | 13 | %%ViewingOrientation:·1·0·0·1 |
14 | %%EndDefaults | 14 | %%EndDefaults |
15 | %DVIPSWebPage:·(www.radicaleye.com) | 15 | %DVIPSWebPage:·(www.radicaleye.com) |
16 | %DVIPSCommandLine:·dvips·main·-o·misc.ps | 16 | %DVIPSCommandLine:·dvips·main·-o·misc.ps |
17 | %DVIPSParameters:·dpi=600 | 17 | %DVIPSParameters:·dpi=600 |
18 | %DVIPSSource:··TeX·output·202 | 18 | %DVIPSSource:··TeX·output·2025.02.13:1354 |
19 | %%BeginProcSet:·tex.pro·0·0 | 19 | %%BeginProcSet:·tex.pro·0·0 |
20 | %! | 20 | %! |
21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S | 21 | /TeXDict·300·dict·def·TeXDict·begin/N{def}def/B{bind·def}N/S{exch}N/X{S |
22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 | 22 | N}B/A{dup}B/TR{translate}N/isls·false·N/vsize·11·72·mul·N/hsize·8.5·72 |
23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 | 23 | mul·N/landplus90{false}def/@rigin{isls{[0·landplus90{1·-1}{-1·1}ifelse·0 |
24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ | 24 | 0·0]concat}if·72·Resolution·div·72·VResolution·div·neg·scale·isls{ |
25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize | 25 | landplus90{VResolution·72·div·vsize·mul·0·exch}{Resolution·-72·div·hsize |
Offset 2252, 19 lines modified | Offset 2252, 21 lines modified | ||
2252 | end·readonly·def | 2252 | end·readonly·def |
2253 | /Encoding·256·array | 2253 | /Encoding·256·array |
2254 | 0·1·255·{1·index·exch·/.notdef·put}·for | 2254 | 0·1·255·{1·index·exch·/.notdef·put}·for |
2255 | dup·44·/comma·put | 2255 | dup·44·/comma·put |
2256 | dup·48·/zero·put | 2256 | dup·48·/zero·put |
2257 | dup·49·/one·put | 2257 | dup·49·/one·put |
2258 | dup·50·/two·put | 2258 | dup·50·/two·put |
2259 | dup·51·/three·put | ||
2259 | dup·5 | 2260 | dup·53·/five·put |
2260 | dup·58·/colon·put | 2261 | dup·58·/colon·put |
2261 | dup·7 | 2262 | dup·70·/F·put |
2262 | dup·97·/a·put | 2263 | dup·97·/a·put |
2264 | dup·98·/b·put | ||
2263 | dup·1 | 2265 | dup·101·/e·put |
2264 | dup·114·/r·put | 2266 | dup·114·/r·put |
2265 | dup·117·/u·put | 2267 | dup·117·/u·put |
2266 | dup·121·/y·put | 2268 | dup·121·/y·put |
2267 | readonly·def | 2269 | readonly·def |
2268 | currentdict·end | 2270 | currentdict·end |
2269 | currentfile·eexec | 2271 | currentfile·eexec |
2270 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 | 2272 | D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 |
Offset 2448, 83 lines modified | Offset 2450, 94 lines modified | ||
2448 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A | 2450 | 7CA1534C4D5B05FC33F83790ECFD7641DF3FB94289E2A1F6E7D29AB1228A867A |
2449 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 | 2451 | 6E1EF0E9C6F899B491DC18401C2C0A05FFFED46A72C245F7529B8EA55A038082 |
2450 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E | 2452 | 8512307217D2A233C37004085BA3AEE379269F9FA7D0ADB4B19A95CC2AFE686E |
2451 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 | 2453 | 55D88E47257C1FE6F235FEA295910569FE6DD5995512562359CC821E85A6C7A5 |
2452 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 | 2454 | 79B470A9E340A6985189FF8B6AF914A6B0ECF93F47903221F95DE894A8F05B05 |
2453 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 | 2455 | B7D99CD533EC5F931B18E6B39BECF67FA2D6DD1AEC76772B068BE06335A94C05 |
2454 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 | 2456 | 7A4DDEE77B66101DA855C17AC312600370B34E31F5EC3A01300A8EB60B4C9767 |
2455 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004 | 2457 | 1B2FA10DF7E91D3BB34A1B1CE7A0015A57C813E0280D873ADB8844004FD597ED |
2456 | AAD58B5EC7446C104E35E1BD40C2A5E8212D57F595E78782FF19251B1D373536 | ||
2457 | E1A3A3EE00CD97FC5A24DC762E7B137A39BF92FCC32B212DD98F38F58DBF529B | ||
2458 | 46E5C4DF7FCC98AF1868EFACE75B457F265EABDBED7B0B4C58B992F2C7447EFE | ||
2459 | FBB747B040B7A00BDD7E6E1A9144C7C2A0B5FE09992FD8372689AC90494273BA | ||
2460 | 389E9AEECD921A82778626A823A88C7E731F64A920DF219678972CC33BA79221 | ||
2461 | 7883F0BED070FA6336715004DE725C4438E0A4431CDB05CA0177BDEA3DFF75DB | ||
2462 | 2938B887D7EC2E7CBC13845072C39A1DA383303D39F219ABC7F6E6C99B6A4FC0 | ||
2463 | C6F170700D1A58EF5512E64926C123AAF808D1F82B4347D87457E6C42D4F2861 | ||
2464 | B15A3EDD23FA95CAE9D32CB9EE6A700CEC2EF1A7237C5F8CF8F36DB986C6C618 | ||
2465 | AA94C56948B12CBECB56482AE117E1D2718A47E04B25A3BB929DF522B058D2A8 | ||
2466 | E610C497FF3E62F2B5E3EA125E1C7A7D0CDD1B656ABBBC684EFC1FABEEE8A3E8 | ||
2467 | F812958902C2213DC8835D84D33D72E561AB92789C9C2B8372506DF00B76E49F | ||
2468 | 0F18AF54AB198C8E674B20D0CAFDEC3113EC3DAB5C49494C5BF62647F8C32CB2 | ||
2469 | 2A405FF6D486626EE1DF1CE028FAE43822D28EB2999D32BAEFA8A7D911F8FBA2 | ||
2470 | 29B8C3FBACD828A9789FBC1B6BBF6FDBA0BF218EDDA5411AE11F52E2B968F2FA | ||
2471 | CA0155FE48E9D7F6C0B245A43535A677055555D051B9350C305B3F1F02D755C8 | ||
2472 | 6D53B044E0FA1119FB58BC06269CA7905CF325D92AFB8DC05DB4ED462BD5F24A | ||
2473 | 5077A0C74E23351DC9AF6E6814001DF6ED7B1D139CEB81A08C0B21C8A6036A76 | ||
2474 | 36E2C1ABB79B66B7A74EA152EB08091E51B5D1F6D0C87FE8E4576200D9790547 | ||
2475 | FF23C860C2076EF70B3FC0BD239B53613DB7FCD2BF50A585B3DEDFB2E4269DC1 | ||
2476 | E5203E9330C8E8D049B7F5D9BC0CA8753B13EAAC455A3313CC0E80603557E2C8 | ||
2477 | 06CBF262AC8C19078521F35AE81AD237627E2541286D46A8F2DA2DFD0F64D165 | ||
2478 | 380174EB22626398C02D6171CDD23B079F306EF2C770097D8A6EC1D79CF9F239 | ||
2479 | A07917AAC050C4331162A9F439E64918C01AC662AC5E0D5EA874D6F8EEABF05C | ||
2480 | 379F452C77E13742C74154199B5E29C31E272893A119EA936D0B6239F7C7695F | ||
2481 | EEE17F8D26B0942C742F02A42613FDB3C2FC821E1170C9B762C97F2E94C64206 | ||
2482 | 95842D5C1D499A9EB93CA7D171F0E7CFD101D15B7C0AB7DA4FD87E00FD19972D | ||
2483 | 2E395C4D29A4A3D7A5C02867CA217E866006FFAAF67FD7F1002CED54F50D2FE1 | ||
2484 | 70CEA056FAF80EE05CF47FA50B5039301A596EFD7CDD903C9D56ED0DDF3340BB | ||
2485 | 2458209B1A60CA15E20C14C1FC8A1FCF4D27DF3B19EA6B7F91351887ED9D0538 | ||
2486 | 4755527F1E4D5E89CC9E49CE61E04E285B6408943F2F9B475E53DE754050D7A2 | ||
2487 | D2478010BD19471C75B50CA8F3D7EB89A69004E63DD9E27101B37B907CBC0118 | ||
2488 | 822811805E89B4A27DAB8DB46D9F3148BC6647057ED09A15A4A5B0291BCCE541 | ||
2489 | FC2EF0805F6ECAEE4563EB343392337F71442DD54AD95171B6F65B5DF5072C35 | ||
2490 | 129217549038D8817747C586FD53E4CEDD318290D15989676ECC2B64BDEF1048 | ||
2491 | B9268EA6A6224CE4344563F61E003DC713A0680088566FAB8640610DF5607877 | ||
2492 | 0EF905C0BA9E24E2096DD927B62611D6376D3F148FA7AD8166AB3FF092B6A3A3 | ||
2493 | 3A77B91AD5660785C7B52C4EEB475AE1175B06409F22D3474E88D7D3935463C5 | ||
2494 | 614C60DEE3FC4FCA65D67819F002DEAFAA738224A84FF46AD23D51D07885A891 | ||
2495 | 45A8BEFAA8FD299B06B6337EC661815A0B5A9A8DB7D243C8766F51BC062BA5CD | ||
2496 | 00260DE852DDEBB202CA48538437A67E5E3796CFC92C8396A5B978DC08BFCF62 | ||
2497 | 0872380E9879CC4A4B8DAB0575C52D6C8716CDF682459C488438B7425319D461 | ||
2498 | 559E3BAEDD379CB1F27CB51C9C346B26CC736F9A001D1FE30147BCF5AC893C50 | ||
2499 | 5656CFC06EDA815783D48806B28D85A67893E8ECF0C54B71B67EA31EF242C5EB | ||
2500 | 7960D5C342E233CB04A51348AC31D114AB5B47CB7A0998F5717156F2423900A0 | ||
2501 | AE9F194914FF7CCA05F4342A2E3C67C8962C7FD9A30D9E8FFA31C5512BA4F6A5 | ||
2502 | 0BB09F9AC151DD784AD30DAD7CFED27338AC2402C992F2489344719F3575704C | ||
2503 | 4A350CC50EC8C0B767E2BFC30A12270C7B590770A93871F6B6E1147055A378AF | ||
2504 | 75FB810ACDDF45F59C1DE68D7A6A8AEE53003EE6219694E1EF5C62469EC6A2A7 | ||
2505 | 674447FA5C40287163A7B5CDF5A2B6D78B7AC2DFEB1E4D707F14EEE29E6F166A | ||
2506 | 8CCBA4C2DC4CB20D0582412E490487B110B18FBC890EE7F65A5A203D0276290A | ||
2507 | 6590E17CAB0C6B79F98CC2BD25EE03B5410921CBE040A2AEFCBEAF930158C68A | ||
2508 | C2E8F3C4C0FF17B70C261F98DE1332B12F4FE10E2FED7C81C6914A03D206B1E8 | ||
2509 | 7AA086C13707069706AC88818901E23E4E575910AC41F60DCB17B18283547656 | ||
2510 | 3B70857E6C66534ED65040118AD444A710F2358D174FBC8065076446035F8FAD | ||
2511 | 6E6612AC3C207B33EC38F98506BDF46AC5FE8D0F628DB619929204E32C60FADB | ||
2512 | AB05717DD6EB53878ACACA5D341847220A62837A557D5954ED1D8A737B6B65C4 | ||
2513 | 066B623DB81A6FD440ADB41D0026B823DA5C966FD7221B982C155B51C84632FA | ||
2514 | 5AFBC386298DC746FB2A44C78D91DF447DCB587648015509AA10FF472C5A47BF | ||
2515 | 7BBBB2ED11509B77B85216B2B448ED7336EB8787B6E0B34AD4733C21088F184E | ||
2516 | 020FFB6761B15301D2920C8636C424F9F25F31B37C4EBA6EA44D2BB250D4AF03 | ||
2517 | 35A2112B38CD527F69341C185E998E2648C2872C9A3D2255BA88DBD921D80E66 | ||
2518 | 95AF998BBA57BDD4357FFBF44107076D9786F70471B84ACBC45CB26A71028766 | ||
2519 | 572173E0AE2FA7FE4D3A838D4665BC9605112732AD71C4E3B7049F51A6977EAB | ||
2520 | 61302DE5224FFDAAC4FF4409916CEB79CEAC185B9EDEBF22DD06C5F9C7D216E4 | ||
2521 | 45119870273CFB2F37B21F1F425FE974BC73B698E380B26A01ED411862E185C4 | ||
2522 | 77A632568ACCAC03B52750E738D74252CEC81DDF9786AED3062C02AC49A8AA96 | ||
2523 | 2458 | EFDBC64ABD9B79386FB2427D1A63522195B1239C09F8CB3F8BD7A245A6DD82E3 | |
2459 | 260C3889587626DFC5F7978E55F5524ABD6A3319CDD3D3F40D040044D51DA4E1 | ||
2460 | 6797EEAC7AA07C77EC6DB0E6E182B545A8BEF63B14F3FC07BAC09E7CD5C17ED6 | ||
2461 | 10080704B0DA4E9BA12F968DF8A58458D17E9A5B1F14A83DC51F5B161ADEE1CC | ||
2462 | 0183D82ED92C6FC7203C289949EDF0284D9893029FF5408E421324625F17C3E5 | ||
2463 | 2437C8F75A9D68EE1AF9174FEA6FC6BF793C7D2E497EA90396CF1A645E283B69 | ||
2464 | 8425F47C323587DF91E1D596DCB1E3A787C955D9D965A5E3E26ADF58B62AD5F9 | ||
2465 | 0C9AC784DE479780606354111E3202F215650DBBE1063A46F3C10B9EBC974DDA | ||
2466 | A1A28DBBD43E9E5BFF000B12C787D0427928078F8EC5FE90DED97E6C129E8DEA | ||
2467 | 51F66504DB83764E52B0BA68DF7BE684C8959CB1D3345CC48221A9A4683306C0 | ||
2468 | 62B634E0A539383F0C7A788D9711EFF414869CCC5659D78CEBE009BF2463F56A | ||
2469 | 0ADC993348FE96DF7C250E13ED6504AACFE8F8DCA2D2048D9D8CFA127D363EAC | ||
2470 | 1F0630E2D1B621E6954038195D965B91FD974FA3F1B8B29D200A16CEBA645E2F | ||
2471 | CEEE6FD49FBBD49E38AE67D4BFFCE91F1FC422554EC4409C5FA18D40FCD6D9B3 | ||
Max diff block lines reached; 28981/40524 bytes (71.52%) of diff not shown. |
Offset 17, 15 lines modified | Offset 17, 15 lines modified | ||
17 | ··················The·method·calls·itself·recursively.·To·find·the·permutation·for·an·n1·x·n2·x·n3·grid,·call\xd | 17 | ··················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)·;\xd | 18 | ··················mkNDperm(n1,·n2,·n3,·newToOld,·0,·n1-1,·0,·n2-1,·0,·n3-1)·;\xd |
19 | ··················from·a·driver·program.\xd | 19 | ··················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\xd | 20 | ··················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\xd | 21 | ··················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.\xd | 22 | ··················top·≥·n3,·an·error·message·is·printed·and·the·program·exits.\xd |
23 | ·······················································1\xd | 23 | ·······················································1\xd |
24 | ·······2··············Misc·:·DRAFT· | 24 | ·······2··············Misc·:·DRAFT·February·13,·2025\xd |
25 | ········2.·void·mkNDperm2·(·int·n1,·int·n2,·int·n3,·int·newToOld[],·int·west,\xd | 25 | ········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·)·;\xd | 26 | ···················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\xd | 27 | ··········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\xd | 28 | ··········ordering·of·the·vertices·for·the·subgrid·defined·by·nodes·whose·coordinates·lie·in\xd |
29 | ··········[west,·east]·x·[south,·north]·x·[bottom,·top].\xd | 29 | ··········[west,·east]·x·[south,·north]·x·[bottom,·top].\xd |
30 | ··········There·is·one·important·difference·between·this·method·and·mkNDperm()·above;·this·method\xd | 30 | ··········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\xd | 31 | ··········finds·double-wide·separators,·necessary·for·an·operator·with·more·than·nearest·neighbor·grid\xd |
Offset 58, 15 lines modified | Offset 58, 15 lines modified | ||
58 | ··········tains·a·dsizes1[q1]·x·dsizes2[q2]·x·disizes3[q3]·subgrid·of·points.\xd | 58 | ··········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\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\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,\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,\xd |
61 | ··········or·if·dsizes1[],·disizes2[]·and·dsizes3[]·are·not·NULL·but·have·invalid·entries·(all·entries\xd | 61 | ··········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\xd | 62 | ··········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\xd | 63 | ··········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.\xd | 64 | ··········is·printed·and·the·program·exits.\xd |
65 | ······································Misc·:·DRAFT·· | 65 | ······································Misc·:·DRAFT··February·13,·2025···················3\xd |
66 | ··············5.·void·fp2DGrid·(·int·n1,·int·n2,·int·ivec[],·FILE·*fp·)·;\xd | 66 | ··············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\xd | 67 | ·················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.\xd | 68 | ·················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\xd | 69 | ·················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.\xd | 70 | ·················message·is·printed·and·the·program·exits.\xd |
71 | ··············6.·void·fp3DGrid·(·int·n1,·int·n2,·int·n3,·int·ivec[],·FILE·*fp·)·;\xd | 71 | ··············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\xd | 72 | ·················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 modified | Offset 96, 15 lines modified | ||
96 | ·················This·method·returns·a·front·tree·ETree·object·for·a·multiple·minimum·degree·ordering·of\xd | 96 | ·················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\xd | 97 | ·················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\xd | 98 | ·················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\xd | 99 | ·················timings·and·scalar·statistics,·and·use·msglvl·>·1·with·care,·for·it·can·generate·huge·amounts\xd |
100 | ·················of·output.\xd | 100 | ·················of·output.\xd |
101 | ·················Error·checking:·If·graph·is·NULL,·or·if·msglvl·>·0·and·msgFile·is·NULL,·an·error·message·is\xd | 101 | ·················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.\xd | 102 | ·················printed·and·the·program·exits.\xd |
103 | ··············4····························Misc·:·DRAFT· | 103 | ··············4····························Misc·:·DRAFT·February·13,·2025\xd |
104 | ················2.·ETree·*·orderViaND·(·Graph·*graph,·int·maxdomainsize,·int·seed,\xd | 104 | ················2.·ETree·*·orderViaND·(·Graph·*graph,·int·maxdomainsize,·int·seed,\xd |
105 | ········································int·msglvl,·FILE·*msgFile·)·;\xd | 105 | ········································int·msglvl,·FILE·*msgFile·)·;\xd |
106 | ··················This·method·returns·a·front·tree·ETree·object·for·a·nested·dissection·ordering·of·the·graph\xd | 106 | ··················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\xd | 107 | ··················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\xd | 108 | ··················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\xd | 109 | ··················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.\xd | 110 | ··················statistics,·and·use·msglvl·>·1·with·care,·for·it·can·generate·huge·amounts·of·output.\xd |
Offset 136, 15 lines modified | Offset 136, 15 lines modified | ||
136 | ·······································double·linewidth2,·double·radius,·char·*epsFileName,\xd | 136 | ·······································double·linewidth2,·double·radius,·char·*epsFileName,\xd |
137 | ·······································int·msglvl,·FILE·*msgFile·)·;\xd | 137 | ·······································int·msglvl,·FILE·*msgFile·)·;\xd |
138 | ··················This·method·is·used·to·create·an·EPS·(Encapsulated·Postscript)·file·that·contains·a·picture\xd | 138 | ··················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,\xd | 139 | ··················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.\xd | 140 | ··················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\xd | 141 | ··················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\xd | 142 | ··················locations·of·the·vertices.·The·tagsIV·object·is·used·to·define·whether·or·not·an·edge·is\xd |
143 | ······································Misc·:·DRAFT·· | 143 | ······································Misc·:·DRAFT··February·13,·2025···················5\xd |
144 | ·················drawn·between·two·vertices·adjacent·in·the·graph.·When·tagsIV·is·not·NULL,·if·there·is·an\xd | 144 | ·················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\xd | 145 | ·················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\xd | 146 | ·················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\xd | 147 | ·················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.\xd | 148 | ·················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\xd | 149 | ·················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\xd | 150 | ·················graph·inside·the·area·defined·by·the·rect[]·array·in·such·a·manner·that·the·relative·scales\xd |
Offset 177, 15 lines modified | Offset 177, 15 lines modified | ||
177 | ·······························InpMtx·**pmtxA,·DenseMtx·**pmtxX,·DenseMtx·**pmtxB·)·;\xd | 177 | ·······························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\xd | 178 | ·················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\xd | 179 | ·················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\xd | 180 | ·················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\xd | 181 | ·················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·=\xd | 182 | ·················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\xd | 183 | ·················1)·or·complex·(type·=·2).·The·number·of·columns·of·X·is·given·by·nrhs.·The·linear·system\xd |
184 | ···········6·······················Misc·:·DRAFT· | 184 | ···········6·······················Misc·:·DRAFT·February·13,·2025\xd |
185 | ···············is·ordered·using·theoretical·nested·dissection,·and·the·front·tree·is·transformed·using·the\xd | 185 | ···············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,\xd | 186 | ···············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.\xd | 187 | ···············and·three·matrix·objects·are·returned·in·the·last·five·arguments·of·the·calling·sequence.\xd |
188 | ···············Error·checking:·None·presently.\xd | 188 | ···············Error·checking:·None·presently.\xd |
189 | ···········1.2··Driver·programs·found·in·the·Misc·directory\xd | 189 | ···········1.2··Driver·programs·found·in·the·Misc·directory\xd |
190 | ···········This·section·contains·brief·descriptions·of·the·driver·programs.\xd | 190 | ···········This·section·contains·brief·descriptions·of·the·driver·programs.\xd |
191 | ·············1.·testNDperm·msglvl·msgFile·n1·n2·n3·outPermFile\xd | 191 | ·············1.·testNDperm·msglvl·msgFile·n1·n2·n3·outPermFile\xd |
Offset 215, 15 lines modified | Offset 215, 15 lines modified | ||
215 | ···················*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd | 215 | ···················*.graphfor*.graphb.·TheGraphobjectisreadfromthefileviatheGraph·readFromFile()\xd |
216 | ···················method.\xd | 216 | ···················method.\xd |
217 | ·················•·The·seed·parameter·is·a·random·number·seed.\xd | 217 | ·················•·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\xd | 218 | ·················•·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()\xd | 219 | ···················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\xd | 220 | ···················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).\xd | 221 | ···················*.etreef),·or·a·binary·file·(if·ETreeFile·is·of·the·form·*.etreeb).\xd |
222 | ······································Misc·:·DRAFT·· | 222 | ······································Misc·:·DRAFT··February·13,·2025···················7\xd |
223 | ··············3.·testOrderViaND·msglvl·msgFile·GraphFile·maxdomainsize·seed·ETreeFile\xd | 223 | ··············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\xd | 224 | ·················This·program·reads·in·a·Graph·object·from·a·file·and·computes·a·generalized·nested·dissection\xd |
225 | ·················ordering·of·the·graph.\xd | 225 | ·················ordering·of·the·graph.\xd |
226 | ···················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd | 226 | ···················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd |
227 | ·····················the·Perm·object·is·written·to·the·output·file.\xd | 227 | ·····················the·Perm·object·is·written·to·the·output·file.\xd |
228 | ···················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 228 | ···················•·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\xd | 229 | ·····················message·file·is·stdout,·otherwise·a·file·is·opened·with·append·status·to·receive·any·output\xd |
Offset 254, 15 lines modified | Offset 254, 15 lines modified | ||
254 | ···················•·The·seed·parameter·is·a·random·number·seed.\xd | 254 | ···················•·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\xd | 255 | ···················•·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()\xd | 256 | ·····················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\xd | 257 | ·····················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).\xd | 258 | ·····················*.etreef),·or·a·binary·file·(if·ETreeFile·is·of·the·form·*.etreeb).\xd |
259 | ··············5.·drawGraph·msglvl·msgFile·inGraphFile·inCoordsFile·inTagsIVfile\xd | 259 | ··············5.·drawGraph·msglvl·msgFile·inGraphFile·inCoordsFile·inTagsIVfile\xd |
260 | ··························outEPSfile·linewidth1·linewidth2·bbox[4]·rect[4]·radius\xd | 260 | ··························outEPSfile·linewidth1·linewidth2·bbox[4]·rect[4]·radius\xd |
261 | ··············8······························Misc·:·DRAFT· | 261 | ··············8······························Misc·:·DRAFT·February·13,·2025\xd |
262 | ···················This·driver·program·generates·a·Encapsulated·Postscript·file·outEPSfile·of·a·2-D·graph\xd | 262 | ···················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\xd | 263 | ···················using·a·Graph·object,·a·Coords·object·and·a·tags·IV·object·that·contains·the·component·ids\xd |
264 | ···················of·the·vertices.\xd | 264 | ···················of·the·vertices.\xd |
265 | ···················See·the·doDraw·script·file·in·this·directory·for·an·example·calling·sequence.\xd | 265 | ···················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\xd | 266 | ······················•·The·msglvl·parameter·determines·the·amount·of·output·—·taking·msglvl·>=·3·means\xd |
267 | ························that·all·objects·are·written·to·the·output·file.\xd | 267 | ························that·all·objects·are·written·to·the·output·file.\xd |
268 | ······················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd | 268 | ······················•·The·msgFile·parameter·determines·the·message·file·—·if·msgFile·is·stdout,·then·the\xd |
Offset 293, 17 lines modified | Offset 293, 17 lines modified | ||
293 | ···················See·Figure·1.1·for·a·plot·of·the·graph·of·R2D100,·a·randomly·triangulated·grid·with·100\xd | 293 | ···················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\xd | 294 | ···················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.\xd | 295 | ···················the·fishnet·algorithm·of·Chapter·??·with·linewidth1·=·3·and·linewidth2·=·0.1.\xd |
296 | ·················6.·testSemi·msglvl·msgFile·GraphFile·ETreeFile·mapFile\xd | 296 | ·················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\xd | 297 | ···················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.\xd | 298 | ·········································AX="·A0,0·A0,1·#"·X0·#="·B0·#=B.\xd |
299 | ·················································A1,0··A1,1····X1········B1\xd | 299 | ·················································A1,0··A1,1····X1········B1\xd |
300 | ······································Misc·:·DRAFT·· | 300 | ······································Misc·:·DRAFT··February·13,·2025···················9\xd |
301 | ··········································Figure·1.1:·R2D100\xd | 301 | ··········································Figure·1.1:·R2D100\xd |
302 | ··············10····························Misc·:·DRAFT· | 302 | ··············10····························Misc·:·DRAFT·February·13,·2025\xd |
303 | ································Figure·1.2:·R2D100:·fishnet·domain·decomposition\xd | 303 | ································Figure·1.2:·R2D100:·fishnet·domain·decomposition\xd |
304 | ································3····3·····3····3·····3····3·····3····0·····0·····5\xd | 304 | ································3····3·····3····3·····3····3·····3····0·····0·····5\xd |
305 | ·········································3\xd | 305 | ·········································3\xd |
306 | ································3·················3····3·······0··················0\xd | 306 | ································3·················3····3·······0··················0\xd |
307 | ·······················································3·3\xd | 307 | ·······················································3·3\xd |
Max diff block lines reached; 6519/18329 bytes (35.57%) of diff not shown. |