summaryrefslogtreecommitdiff
path: root/doc/cloog.info
blob: ae0d1b04ba29230fdc9e8ed7805a7fda5bda0ac2 (plain)
ofshex dumpascii
0000 54 68 69 73 20 69 73 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 This.is.cloog.info,.produced.by.
0020 6d 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 34 2e 31 31 20 66 72 6f 6d 20 63 6c 6f 6f 67 makeinfo.version.4.11.from.cloog
0040 2e 74 65 78 69 2e 0a 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 53 6f 66 74 77 61 72 .texi...INFO-DIR-SECTION.Softwar
0060 65 20 6c 69 62 72 61 72 69 65 73 0a 53 54 41 52 54 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 e.libraries.START-INFO-DIR-ENTRY
0080 0a 2a 20 63 6c 6f 6f 67 3a 20 28 63 6c 6f 6f 67 29 2e 20 20 41 20 6c 6f 6f 70 20 67 65 6e 65 72 .*.cloog:.(cloog)...A.loop.gener
00a0 61 74 6f 72 20 66 6f 72 20 73 63 61 6e 6e 69 6e 67 20 70 6f 6c 79 68 65 64 72 61 0a 45 4e 44 2d ator.for.scanning.polyhedra.END-
00c0 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 0a 20 20 20 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 INFO-DIR-ENTRY.....This.manual.i
00e0 73 20 66 6f 72 20 43 4c 6f 6f 47 20 76 65 72 73 69 6f 6e 20 2c 20 61 20 73 6f 66 74 77 61 72 65 s.for.CLooG.version.,.a.software
0100 20 77 68 69 63 68 20 67 65 6e 65 72 61 74 65 73 20 6c 6f 6f 70 73 0a 66 6f 72 20 73 63 61 6e 6e .which.generates.loops.for.scann
0120 69 6e 67 20 5a 2d 70 6f 6c 79 68 65 64 72 61 2e 20 54 68 61 74 20 69 73 2c 20 43 4c 6f 6f 47 20 ing.Z-polyhedra..That.is,.CLooG.
0140 70 72 6f 64 75 63 65 73 20 61 20 63 6f 64 65 20 76 69 73 69 74 69 6e 67 20 65 61 63 68 0a 69 6e produces.a.code.visiting.each.in
0160 74 65 67 72 61 6c 20 70 6f 69 6e 74 20 6f 66 20 61 20 75 6e 69 6f 6e 20 6f 66 20 70 61 72 61 6d tegral.point.of.a.union.of.param
0180 65 74 72 69 7a 65 64 20 70 6f 6c 79 68 65 64 72 61 2e 20 43 4c 6f 6f 47 20 69 73 20 64 65 73 69 etrized.polyhedra..CLooG.is.desi
01a0 67 6e 65 64 0a 74 6f 20 61 76 6f 69 64 20 63 6f 6e 74 72 6f 6c 20 6f 76 65 72 68 65 61 64 20 61 gned.to.avoid.control.overhead.a
01c0 6e 64 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 76 65 72 79 20 65 66 66 69 63 69 65 6e 74 20 63 nd.to.produce.a.very.efficient.c
01e0 6f 64 65 2e 0a 0a 20 20 20 49 74 20 77 6f 75 6c 64 20 62 65 20 71 75 69 74 65 20 6b 69 6e 64 20 ode......It.would.be.quite.kind.
0200 74 6f 20 72 65 66 65 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 70 65 72 20 69 6e 20 to.refer.the.following.paper.in.
0220 61 6e 79 0a 70 75 62 6c 69 63 61 74 69 6f 6e 20 74 68 61 74 20 72 65 73 75 6c 74 73 20 66 72 6f any.publication.that.results.fro
0240 6d 20 74 68 65 20 75 73 65 20 6f 66 20 74 68 65 20 43 4c 6f 6f 47 20 73 6f 66 74 77 61 72 65 20 m.the.use.of.the.CLooG.software.
0260 6f 72 20 69 74 73 0a 6c 69 62 72 61 72 79 3a 0a 0a 20 20 20 20 20 40 49 6e 50 72 6f 63 65 65 64 or.its.library:.......@InProceed
0280 69 6e 67 73 7b 42 61 73 30 34 2c 0a 20 20 20 20 20 20 20 61 75 74 68 6f 72 20 3d 20 20 20 20 7b ings{Bas04,........author.=....{
02a0 43 2e 20 42 61 73 74 6f 75 6c 7d 2c 0a 20 20 20 20 20 20 20 74 69 74 6c 65 20 3d 20 20 20 20 20 C..Bastoul},........title.=.....
02c0 7b 43 6f 64 65 20 47 65 6e 65 72 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 50 6f 6c 79 68 65 64 72 {Code.Generation.in.the.Polyhedr
02e0 61 6c 20 4d 6f 64 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 73 20 al.Model.....................Is.
0300 45 61 73 69 65 72 20 54 68 61 6e 20 59 6f 75 20 54 68 69 6e 6b 7d 2c 0a 20 20 20 20 20 20 20 62 Easier.Than.You.Think},........b
0320 6f 6f 6b 74 69 74 6c 65 20 3d 20 7b 50 41 43 54 27 31 33 20 49 45 45 45 20 49 6e 74 65 72 6e 61 ooktitle.=.{PACT'13.IEEE.Interna
0340 74 69 6f 6e 61 6c 20 43 6f 6e 66 65 72 65 6e 63 65 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 tional.Conference.on............
0360 20 20 20 20 20 20 20 20 20 50 61 72 61 6c 6c 65 6c 20 41 72 63 68 69 74 65 63 74 75 72 65 20 61 .........Parallel.Architecture.a
0380 6e 64 20 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 54 65 63 68 6e 69 71 75 65 73 7d 2c 0a 20 20 20 20 nd.Compilation.Techniques},.....
03a0 20 20 20 79 65 61 72 20 3d 20 20 20 20 20 20 32 30 30 34 2c 0a 20 20 20 20 20 20 20 70 61 67 65 ...year.=......2004,........page
03c0 73 20 3d 20 20 20 20 20 7b 37 2d 2d 31 36 7d 2c 0a 20 20 20 20 20 20 20 6d 6f 6e 74 68 20 3d 20 s.=.....{7--16},........month.=.
03e0 20 20 20 20 7b 73 65 70 74 65 6d 62 65 72 7d 2c 0a 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 ....{september},........address.
0400 3d 20 20 20 7b 4a 75 61 6e 2d 6c 65 73 2d 50 69 6e 73 7d 0a 20 20 20 20 20 7d 0a 0a 20 20 20 43 =...{Juan-les-Pins}......}.....C
0420 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 32 2d 32 30 30 35 20 43 65 27 64 72 69 63 20 42 opyright.(C).2002-2005.Ce'dric.B
0440 61 73 74 6f 75 6c 2e 0a 0a 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 astoul......Permission.is.grante
0460 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 d.to.copy,.distribute.and/or.mod
0480 69 66 79 20 74 68 69 73 0a 64 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d ify.this.document.under.the.term
04a0 73 20 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 s.of.the.GNU.Free.Documentation.
04c0 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 0a 31 2e 32 20 70 75 62 6c 69 73 68 65 64 20 62 License,.Version.1.2.published.b
04e0 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 y.the.Free.Software.Foundation..
0500 54 6f 20 72 65 63 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 47 4e 55 20 46 72 65 To.receive.a.copy.of.the.GNU.Fre
0520 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 20 77 72 69 74 65 20 74 e.Documentation.License,.write.t
0540 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 0a o.the.Free.Software.Foundation,.
0560 49 6e 63 2e 2c 20 35 39 20 54 65 6d 70 6c 65 20 50 6c 61 63 65 2c 20 53 75 69 74 65 20 33 33 30 Inc.,.59.Temple.Place,.Suite.330
0580 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 20 30 32 31 31 31 2d 31 33 30 37 20 55 53 41 2e 0a 0a 1f ,.Boston,.MA..02111-1307.USA....
05a0 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c 20 20 .File:.cloog.info,..Node:.Top,..
05c0 4e 65 78 74 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 55 70 3a 20 28 64 69 72 29 0a 0a Next:.Introduction,..Up:.(dir)..
05e0 43 4c 6f 6f 47 0a 2a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 CLooG.*****..This.manual.is.for.
0600 43 4c 6f 6f 47 20 76 65 72 73 69 6f 6e 20 2c 20 61 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 CLooG.version.,.a.software.which
0620 20 67 65 6e 65 72 61 74 65 73 20 6c 6f 6f 70 73 20 66 6f 72 0a 73 63 61 6e 6e 69 6e 67 20 5a 2d .generates.loops.for.scanning.Z-
0640 70 6f 6c 79 68 65 64 72 61 2e 20 54 68 61 74 20 69 73 2c 20 43 4c 6f 6f 47 20 70 72 6f 64 75 63 polyhedra..That.is,.CLooG.produc
0660 65 73 20 61 20 63 6f 64 65 20 76 69 73 69 74 69 6e 67 20 65 61 63 68 0a 69 6e 74 65 67 72 61 6c es.a.code.visiting.each.integral
0680 20 70 6f 69 6e 74 20 6f 66 20 61 20 75 6e 69 6f 6e 20 6f 66 20 70 61 72 61 6d 65 74 72 69 7a 65 .point.of.a.union.of.parametrize
06a0 64 20 70 6f 6c 79 68 65 64 72 61 2e 20 43 4c 6f 6f 47 20 69 73 20 64 65 73 69 67 6e 65 64 0a 74 d.polyhedra..CLooG.is.designed.t
06c0 6f 20 61 76 6f 69 64 20 63 6f 6e 74 72 6f 6c 20 6f 76 65 72 68 65 61 64 20 61 6e 64 20 74 6f 20 o.avoid.control.overhead.and.to.
06e0 70 72 6f 64 75 63 65 20 61 20 76 65 72 79 20 65 66 66 69 63 69 65 6e 74 20 63 6f 64 65 2e 0a 0a produce.a.very.efficient.code...
0700 20 20 20 49 74 20 77 6f 75 6c 64 20 62 65 20 71 75 69 74 65 20 6b 69 6e 64 20 74 6f 20 72 65 66 ...It.would.be.quite.kind.to.ref
0720 65 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 70 65 72 20 69 6e 20 61 6e 79 0a 70 75 er.the.following.paper.in.any.pu
0740 62 6c 69 63 61 74 69 6f 6e 20 74 68 61 74 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 74 68 65 20 blication.that.results.from.the.
0760 75 73 65 20 6f 66 20 74 68 65 20 43 4c 6f 6f 47 20 73 6f 66 74 77 61 72 65 20 6f 72 20 69 74 73 use.of.the.CLooG.software.or.its
0780 0a 6c 69 62 72 61 72 79 3a 0a 0a 20 20 20 20 20 40 49 6e 50 72 6f 63 65 65 64 69 6e 67 73 7b 42 .library:.......@InProceedings{B
07a0 61 73 30 34 2c 0a 20 20 20 20 20 20 20 61 75 74 68 6f 72 20 3d 20 20 20 20 7b 43 2e 20 42 61 73 as04,........author.=....{C..Bas
07c0 74 6f 75 6c 7d 2c 0a 20 20 20 20 20 20 20 74 69 74 6c 65 20 3d 20 20 20 20 20 7b 43 6f 64 65 20 toul},........title.=.....{Code.
07e0 47 65 6e 65 72 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 50 6f 6c 79 68 65 64 72 61 6c 20 4d 6f 64 Generation.in.the.Polyhedral.Mod
0800 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 73 20 45 61 73 69 65 72 el.....................Is.Easier
0820 20 54 68 61 6e 20 59 6f 75 20 54 68 69 6e 6b 7d 2c 0a 20 20 20 20 20 20 20 62 6f 6f 6b 74 69 74 .Than.You.Think},........booktit
0840 6c 65 20 3d 20 7b 50 41 43 54 27 31 33 20 49 45 45 45 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c le.=.{PACT'13.IEEE.International
0860 20 43 6f 6e 66 65 72 65 6e 63 65 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Conference.on..................
0880 20 20 20 50 61 72 61 6c 6c 65 6c 20 41 72 63 68 69 74 65 63 74 75 72 65 20 61 6e 64 20 43 6f 6d ...Parallel.Architecture.and.Com
08a0 70 69 6c 61 74 69 6f 6e 20 54 65 63 68 6e 69 71 75 65 73 7d 2c 0a 20 20 20 20 20 20 20 79 65 61 pilation.Techniques},........yea
08c0 72 20 3d 20 20 20 20 20 20 32 30 30 34 2c 0a 20 20 20 20 20 20 20 70 61 67 65 73 20 3d 20 20 20 r.=......2004,........pages.=...
08e0 20 20 7b 37 2d 2d 31 36 7d 2c 0a 20 20 20 20 20 20 20 6d 6f 6e 74 68 20 3d 20 20 20 20 20 7b 73 ..{7--16},........month.=.....{s
0900 65 70 74 65 6d 62 65 72 7d 2c 0a 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 3d 20 20 20 7b 4a eptember},........address.=...{J
0920 75 61 6e 2d 6c 65 73 2d 50 69 6e 73 7d 0a 20 20 20 20 20 7d 0a 0a 20 20 20 43 6f 70 79 72 69 67 uan-les-Pins}......}.....Copyrig
0940 68 74 20 28 43 29 20 32 30 30 32 2d 32 30 30 35 20 43 65 27 64 72 69 63 20 42 61 73 74 6f 75 6c ht.(C).2002-2005.Ce'dric.Bastoul
0960 2e 0a 0a 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 ......Permission.is.granted.to.c
0980 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 opy,.distribute.and/or.modify.th
09a0 69 73 0a 64 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 is.document.under.the.terms.of.t
09c0 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 he.GNU.Free.Documentation.Licens
09e0 65 2c 20 56 65 72 73 69 6f 6e 0a 31 2e 32 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 e,.Version.1.2.published.by.the.
0a00 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 54 6f 20 72 65 63 Free.Software.Foundation..To.rec
0a20 65 69 76 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 47 4e 55 20 46 72 65 65 20 44 6f 63 75 eive.a.copy.of.the.GNU.Free.Docu
0a40 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 mentation.License,.write.to.the.
0a60 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 0a 49 6e 63 2e 2c 20 Free.Software.Foundation,.Inc.,.
0a80 35 39 20 54 65 6d 70 6c 65 20 50 6c 61 63 65 2c 20 53 75 69 74 65 20 33 33 30 2c 20 42 6f 73 74 59.Temple.Place,.Suite.330,.Bost
0aa0 6f 6e 2c 20 4d 41 20 20 30 32 31 31 31 2d 31 33 30 37 20 55 53 41 2e 0a 0a 2a 20 4d 65 6e 75 3a on,.MA..02111-1307.USA...*.Menu:
0ac0 0a 0a 2a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3a 3a 0a 2a 20 43 4c 6f 6f 47 20 53 6f 66 74 77 ..*.Introduction::.*.CLooG.Softw
0ae0 61 72 65 3a 3a 0a 2a 20 43 4c 6f 6f 47 20 4c 69 62 72 61 72 79 3a 3a 0a 2a 20 49 6e 73 74 61 6c are::.*.CLooG.Library::.*.Instal
0b00 6c 69 6e 67 3a 3a 0a 2a 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 3a 0a 2a 20 52 65 66 65 72 ling::.*.Documentation::.*.Refer
0b20 65 6e 63 65 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f ences::....File:.cloog.info,..No
0b40 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 43 4c 6f 6f 47 20 53 de:.Introduction,..Next:.CLooG.S
0b60 6f 66 74 77 61 72 65 2c 20 20 50 72 65 76 3a 20 54 6f 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 oftware,..Prev:.Top,..Up:.Top..1
0b80 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 43 4c .Introduction.**************..CL
0ba0 6f 6f 47 20 69 73 20 61 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6c 69 62 72 61 ooG.is.a.free.software.and.libra
0bc0 72 79 20 67 65 6e 65 72 61 74 69 6e 67 20 6c 6f 6f 70 73 20 66 6f 72 20 73 63 61 6e 6e 69 6e 67 ry.generating.loops.for.scanning
0be0 0a 5a 2d 70 6f 6c 79 68 65 64 72 61 2e 20 20 54 68 61 74 20 69 73 2c 20 69 74 20 66 69 6e 64 73 .Z-polyhedra...That.is,.it.finds
0c00 20 61 20 63 6f 64 65 20 28 65 2e 67 2e 20 69 6e 20 43 2c 20 46 4f 52 54 52 41 4e 2e 2e 2e 29 20 .a.code.(e.g..in.C,.FORTRAN...).
0c20 74 68 61 74 0a 72 65 61 63 68 65 73 20 65 61 63 68 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 that.reaches.each.integral.point
0c40 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 70 61 72 61 6d 65 74 65 72 69 7a 65 64 20 70 6f .of.one.or.more.parameterized.po
0c60 6c 79 68 65 64 72 61 2e 0a 43 4c 6f 6f 47 20 68 61 73 20 62 65 65 6e 20 6f 72 69 67 69 6e 61 6c lyhedra..CLooG.has.been.original
0c80 6c 79 20 77 72 69 74 74 65 6e 20 74 6f 20 73 6f 6c 76 65 20 74 68 65 20 63 6f 64 65 20 67 65 6e ly.written.to.solve.the.code.gen
0ca0 65 72 61 74 69 6f 6e 20 70 72 6f 62 6c 65 6d 0a 66 6f 72 20 6f 70 74 69 6d 69 7a 69 6e 67 20 63 eration.problem.for.optimizing.c
0cc0 6f 6d 70 69 6c 65 72 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 70 6f 6c 79 74 6f 70 65 20 6d ompilers.based.on.the.polytope.m
0ce0 6f 64 65 6c 2e 20 4e 65 76 65 72 74 68 65 6c 65 73 73 20 69 74 0a 69 73 20 75 73 65 64 20 6e 6f odel..Nevertheless.it.is.used.no
0d00 77 20 69 6e 20 76 61 72 69 6f 75 73 20 61 72 65 61 2c 20 65 2e 67 2e 2c 20 74 6f 20 62 75 69 6c w.in.various.area,.e.g.,.to.buil
0d20 64 20 63 6f 6e 74 72 6f 6c 20 61 75 74 6f 6d 61 74 61 20 66 6f 72 0a 68 69 67 68 2d 6c 65 76 65 d.control.automata.for.high-leve
0d40 6c 20 73 79 6e 74 68 65 73 69 73 20 6f 72 20 74 6f 20 66 69 6e 64 20 74 68 65 20 62 65 73 74 20 l.synthesis.or.to.find.the.best.
0d60 70 6f 6c 79 6e 6f 6d 69 61 6c 20 61 70 70 72 6f 78 69 6d 61 74 69 6f 6e 20 6f 66 20 61 0a 66 75 polynomial.approximation.of.a.fu
0d80 6e 63 74 69 6f 6e 2e 20 43 4c 6f 6f 47 20 6d 61 79 20 68 65 6c 70 20 69 6e 20 61 6e 79 20 73 69 nction..CLooG.may.help.in.any.si
0da0 74 75 61 74 69 6f 6e 20 77 68 65 72 65 20 73 63 61 6e 6e 69 6e 67 20 70 6f 6c 79 68 65 64 72 61 tuation.where.scanning.polyhedra
0dc0 0a 6d 61 74 74 65 72 73 2e 20 49 74 20 75 73 65 73 20 74 68 65 20 62 65 73 74 20 73 74 61 74 65 .matters..It.uses.the.best.state
0de0 2d 6f 66 2d 74 68 65 2d 61 72 74 20 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 61 6c 67 6f -of-the-art.code.generation.algo
0e00 72 69 74 68 6d 0a 6b 6e 6f 77 6e 20 61 73 20 74 68 65 20 51 75 69 6c 6c 65 72 65 27 20 65 74 20 rithm.known.as.the.Quillere'.et.
0e20 61 6c 2e 20 61 6c 67 6f 72 69 74 68 6d 20 28 2a 6e 6f 74 65 20 51 75 69 30 30 3a 3a 29 20 77 69 al..algorithm.(*note.Qui00::).wi
0e40 74 68 20 6f 75 72 20 6f 77 6e 0a 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 74 65 th.our.own.improvements.and.exte
0e60 6e 73 69 6f 6e 73 20 28 2a 6e 6f 74 65 20 42 61 73 30 34 3a 3a 29 2e 20 20 54 68 65 20 75 73 65 nsions.(*note.Bas04::)...The.use
0e80 72 20 68 61 73 20 66 75 6c 6c 20 63 6f 6e 74 72 6f 6c 0a 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 r.has.full.control.on.generated.
0ea0 63 6f 64 65 20 71 75 61 6c 69 74 79 2e 20 20 4f 6e 20 6f 6e 65 20 68 61 6e 64 2c 20 67 65 6e 65 code.quality...On.one.hand,.gene
0ec0 72 61 74 65 64 20 63 6f 64 65 20 73 69 7a 65 20 68 61 73 20 74 6f 20 62 65 0a 74 75 6e 65 64 20 rated.code.size.has.to.be.tuned.
0ee0 66 6f 72 20 73 61 6b 65 20 6f 66 20 72 65 61 64 61 62 69 6c 69 74 79 20 6f 72 20 69 6e 73 74 72 for.sake.of.readability.or.instr
0f00 75 63 74 69 6f 6e 20 63 61 63 68 65 20 75 73 65 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 0a 68 uction.cache.use..On.the.other.h
0f20 61 6e 64 2c 20 77 65 20 6d 75 73 74 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 20 62 61 64 20 63 and,.we.must.ensure.that.a.bad.c
0f40 6f 6e 74 72 6f 6c 20 6d 61 6e 61 67 65 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 68 61 6d 70 65 ontrol.management.does.not.hampe
0f60 72 0a 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 r.performance.of.the.generated.c
0f80 6f 64 65 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 20 62 79 20 70 72 6f 64 75 63 69 6e 67 20 72 ode,.for.instance.by.producing.r
0fa0 65 64 75 6e 64 61 6e 74 0a 67 75 61 72 64 73 20 6f 72 20 63 6f 6d 70 6c 65 78 20 6c 6f 6f 70 20 edundant.guards.or.complex.loop.
0fc0 62 6f 75 6e 64 73 2e 20 20 43 4c 6f 6f 47 20 69 73 20 73 70 65 63 69 61 6c 6c 79 20 64 65 73 69 bounds...CLooG.is.specially.desi
0fe0 67 6e 65 64 20 74 6f 20 61 76 6f 69 64 0a 63 6f 6e 74 72 6f 6c 20 6f 76 65 72 68 65 61 64 20 61 gned.to.avoid.control.overhead.a
1000 6e 64 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 76 65 72 79 20 65 66 66 69 63 69 65 6e 74 20 63 nd.to.produce.a.very.efficient.c
1020 6f 64 65 2e 0a 0a 20 20 20 43 4c 6f 6f 47 20 73 74 61 6e 64 73 20 66 6f 72 20 5f 43 68 75 6e 6b ode......CLooG.stands.for._Chunk
1040 79 20 4c 6f 6f 70 20 47 65 6e 65 72 61 74 6f 72 5f 3a 20 69 74 20 69 73 20 61 20 70 61 72 74 20 y.Loop.Generator_:.it.is.a.part.
1060 6f 66 20 74 68 65 20 43 68 75 6e 6b 79 0a 70 72 6f 6a 65 63 74 2c 20 61 20 72 65 73 65 61 72 63 of.the.Chunky.project,.a.researc
1080 68 20 74 6f 6f 6c 20 66 6f 72 20 64 61 74 61 20 6c 6f 63 61 6c 69 74 79 20 69 6d 70 72 6f 76 65 h.tool.for.data.locality.improve
10a0 6d 65 6e 74 20 28 2a 6e 6f 74 65 20 42 61 73 30 33 61 3a 3a 29 2e 0a 49 74 20 69 73 20 64 65 73 ment.(*note.Bas03a::)..It.is.des
10c0 69 67 6e 65 64 20 61 6c 73 6f 20 74 6f 20 62 65 20 74 68 65 20 62 61 63 6b 2d 65 6e 64 20 6f 66 igned.also.to.be.the.back-end.of
10e0 20 61 75 74 6f 6d 61 74 69 63 20 70 61 72 61 6c 6c 65 6c 69 7a 65 72 73 20 6c 69 6b 65 0a 4c 6f .automatic.parallelizers.like.Lo
1100 6f 50 6f 20 28 2a 6e 6f 74 65 20 47 72 69 30 34 3a 3a 29 2e 20 20 54 68 75 73 20 69 74 20 69 73 oPo.(*note.Gri04::)...Thus.it.is
1120 20 76 65 72 79 20 63 6f 6d 70 69 6c 61 62 6c 65 20 63 6f 64 65 20 6f 72 69 65 6e 74 65 64 20 61 .very.compilable.code.oriented.a
1140 6e 64 0a 70 72 6f 76 69 64 65 73 20 70 6f 77 65 72 66 75 6c 20 70 72 6f 67 72 61 6d 20 74 72 61 nd.provides.powerful.program.tra
1160 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 66 61 63 69 6c 69 74 69 65 73 2e 20 4d 61 69 6e 6c 79 2c 20 nsformation.facilities..Mainly,.
1180 69 74 20 61 6c 6c 6f 77 73 0a 74 68 65 20 75 73 65 72 20 74 6f 20 73 70 65 63 69 66 79 20 76 65 it.allows.the.user.to.specify.ve
11a0 72 79 20 67 65 6e 65 72 61 6c 20 73 63 68 65 64 75 6c 65 73 20 77 68 65 72 65 2c 20 65 2e 67 2e ry.general.schedules.where,.e.g.
11c0 2c 20 75 6e 69 6d 6f 64 75 6c 61 72 69 74 79 0a 6f 72 20 69 6e 76 65 72 74 69 62 69 6c 69 74 79 ,.unimodularity.or.invertibility
11e0 20 6f 66 20 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 6d .of.the.transformation.doesn't.m
1200 61 74 74 65 72 2e 0a 0a 20 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 20 69 atter......The.current.version.i
1220 73 20 73 74 69 6c 6c 20 75 6e 64 65 72 20 65 76 61 6c 75 61 74 69 6f 6e 2c 20 61 6e 64 20 74 68 s.still.under.evaluation,.and.th
1240 65 72 65 20 69 73 20 6e 6f 0a 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 20 75 70 77 ere.is.no.guarantee.that.the.upw
1260 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 6c 6c 20 62 65 20 72 65 73 70 65 63 ard.compatibility.will.be.respec
1280 74 65 64 20 28 62 75 74 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 41 50 49 20 68 61 73 20 62 65 ted.(but.the.previous.API.has.be
12a0 65 6e 20 73 74 61 62 6c 65 20 66 6f 72 20 74 77 6f 20 79 65 61 72 73 2c 20 77 65 20 68 6f 70 65 en.stable.for.two.years,.we.hope
12c0 20 74 68 69 73 20 6f 6e 65 20 77 69 6c 6c 20 62 65 20 61 73 0a 73 75 63 63 65 73 73 66 75 6c 20 .this.one.will.be.as.successful.
12e0 2d 61 6e 64 20 77 65 20 62 65 6c 69 65 76 65 20 69 74 2d 29 2e 20 20 41 20 6c 6f 74 20 6f 66 20 -and.we.believe.it-)...A.lot.of.
1300 72 65 70 6f 72 74 73 20 61 72 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 0a 66 72 65 65 7a 65 20 reports.are.necessary.to.freeze.
1320 74 68 65 20 6c 69 62 72 61 72 79 20 41 50 49 20 61 6e 64 20 74 68 65 20 69 6e 70 75 74 20 66 69 the.library.API.and.the.input.fi
1340 6c 65 20 73 68 61 70 65 2e 20 4d 6f 73 74 20 41 50 49 20 63 68 61 6e 67 65 73 20 66 72 6f 6d 0a le.shape..Most.API.changes.from.
1360 30 2e 31 32 2e 78 20 74 6f 20 30 2e 31 34 2e 78 20 68 61 76 65 20 62 65 65 6e 20 72 65 71 75 65 0.12.x.to.0.14.x.have.been.reque
1380 73 74 65 64 20 62 79 20 74 68 65 20 75 73 65 72 73 20 74 68 65 6d 73 65 6c 76 65 73 2e 20 20 54 sted.by.the.users.themselves...T
13a0 68 75 73 20 79 6f 75 0a 61 72 65 20 76 65 72 79 20 77 65 6c 63 6f 6d 65 20 61 6e 64 20 65 6e 63 hus.you.are.very.welcome.and.enc
13c0 6f 75 72 61 67 65 64 20 74 6f 20 70 6f 73 74 20 72 65 70 6f 72 74 73 20 6f 6e 20 62 75 67 73 2c ouraged.to.post.reports.on.bugs,
13e0 20 77 69 73 68 65 73 2c 0a 63 72 69 74 69 63 73 2c 20 63 6f 6d 6d 65 6e 74 73 2c 20 73 75 67 67 .wishes,.critics,.comments,.sugg
1400 65 73 74 69 6f 6e 73 20 6f 72 20 73 75 63 63 65 73 73 66 75 6c 20 65 78 70 65 72 69 65 6e 63 65 estions.or.successful.experience
1420 73 20 69 6e 20 74 68 65 20 66 6f 72 75 6d 0a 6f 66 20 60 68 74 74 70 3a 2f 2f 77 77 77 2e 43 4c s.in.the.forum.of.`http://www.CL
1440 6f 6f 47 2e 6f 72 67 27 20 6f 72 20 74 6f 20 73 65 6e 64 20 74 68 65 6d 20 74 6f 20 63 65 64 72 ooG.org'.or.to.send.them.to.cedr
1460 69 63 2e 62 61 73 74 6f 75 6c 40 69 6e 72 69 61 2e 66 72 0a 64 69 72 65 63 74 6c 79 2e 0a 0a 2a ic.bastoul@inria.fr.directly...*
1480 20 4d 65 6e 75 3a 0a 0a 2a 20 42 61 73 69 63 73 3a 3a 0a 2a 20 53 63 61 74 74 65 72 69 6e 67 3a .Menu:..*.Basics::.*.Scattering:
14a0 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 42 61 :....File:.cloog.info,..Node:.Ba
14c0 73 69 63 73 2c 20 20 4e 65 78 74 3a 20 53 63 61 74 74 65 72 69 6e 67 2c 20 20 55 70 3a 20 49 6e sics,..Next:.Scattering,..Up:.In
14e0 74 72 6f 64 75 63 74 69 6f 6e 0a 0a 31 2e 31 20 42 61 73 69 63 61 6c 6c 79 2c 20 77 68 61 74 27 troduction..1.1.Basically,.what'
1500 73 20 74 68 65 20 70 6f 69 6e 74 20 3f 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d s.the.point.?.==================
1520 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 ===============..If.you.want.to.
1540 75 73 65 20 43 4c 6f 6f 47 2c 20 74 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 79 6f 75 20 77 use.CLooG,.this.is.because.you.w
1560 61 6e 74 20 74 6f 20 73 63 61 6e 20 6f 72 20 74 6f 20 66 69 6e 64 0a 73 6f 6d 65 74 68 69 6e 67 ant.to.scan.or.to.find.something
1580 20 69 6e 73 69 64 65 20 74 68 65 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 73 20 6f 66 20 61 .inside.the.integral.points.of.a
15a0 20 73 65 74 20 6f 66 20 70 6f 6c 79 68 65 64 72 61 2e 20 54 68 65 72 65 20 61 72 65 0a 6d 61 6e .set.of.polyhedra..There.are.man
15c0 79 20 72 65 61 73 6f 6e 73 20 66 6f 72 20 74 68 61 74 2e 20 4d 61 79 62 65 20 79 6f 75 20 6e 65 y.reasons.for.that..Maybe.you.ne
15e0 65 64 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 69 74 73 65 6c 66 20 62 65 63 ed.the.generated.code.itself.bec
1600 61 75 73 65 0a 69 74 20 61 63 74 75 61 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 76 65 ause.it.actually.implements.a.ve
1620 72 79 20 73 6d 61 72 74 20 70 72 6f 67 72 61 6d 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 ry.smart.program.transformation.
1640 79 6f 75 20 66 6f 75 6e 64 2e 0a 4d 61 79 62 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 you.found..Maybe.you.want.to.use
1660 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 62 65 63 61 75 73 65 20 79 6f 75 20 .the.generated.code.because.you.
1680 6b 6e 6f 77 20 74 68 61 74 20 74 68 65 0a 73 6f 6c 75 74 69 6f 6e 20 6f 66 20 79 6f 75 72 20 70 know.that.the.solution.of.your.p
16a0 72 6f 62 6c 65 6d 20 62 65 6c 6f 6e 67 73 20 74 6f 20 74 68 65 20 69 6e 74 65 67 72 61 6c 20 70 roblem.belongs.to.the.integral.p
16c0 6f 69 6e 74 73 20 6f 66 20 74 68 6f 73 65 20 64 61 6d 6e 65 64 0a 70 6f 6c 79 68 65 64 72 61 20 oints.of.those.damned.polyhedra.
16e0 61 6e 64 20 79 6f 75 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 77 68 69 63 68 20 6f 6e 65 2e 20 4d 61 and.you.don't.know.which.one..Ma
1700 79 62 65 20 79 6f 75 20 6a 75 73 74 20 77 61 6e 74 20 74 6f 20 6b 6e 6f 77 20 69 66 0a 61 20 70 ybe.you.just.want.to.know.if.a.p
1720 6f 6c 79 68 65 64 72 6f 6e 20 68 61 73 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 73 20 64 65 olyhedron.has.integral.points.de
1740 70 65 6e 64 69 6e 67 20 6f 6e 20 73 6f 6d 65 20 70 61 72 61 6d 65 74 65 72 73 2c 20 77 68 69 63 pending.on.some.parameters,.whic
1760 68 20 69 73 0a 74 68 65 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 20 6d 69 6e 69 6d 75 6d 2c 20 h.is.the.lexicographic.minimum,.
1780 6d 61 78 69 6d 75 6d 2c 20 74 68 65 20 74 68 69 72 64 20 6f 6e 20 74 68 65 20 62 61 73 69 73 20 maximum,.the.third.on.the.basis.
17a0 6f 66 20 74 68 65 20 6c 65 66 74 0a 65 74 63 2e 20 50 72 6f 62 61 62 6c 79 20 79 6f 75 20 68 61 of.the.left.etc..Probably.you.ha
17c0 76 65 20 79 6f 75 72 20 6f 77 6e 20 72 65 61 73 6f 6e 73 20 74 6f 20 75 73 65 20 43 4c 6f 6f 47 ve.your.own.reasons.to.use.CLooG
17e0 2e 0a 0a 20 20 20 4c 65 74 20 75 73 20 69 6c 6c 75 73 74 72 61 74 65 20 61 20 62 61 73 69 63 20 ......Let.us.illustrate.a.basic.
1800 75 73 65 20 6f 66 20 43 4c 6f 6f 47 2e 20 53 75 70 70 6f 73 65 20 77 65 20 68 61 76 65 20 61 20 use.of.CLooG..Suppose.we.have.a.
1820 73 65 74 20 6f 66 0a 61 66 66 69 6e 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 74 68 61 74 20 64 set.of.affine.constraints.that.d
1840 65 73 63 72 69 62 65 73 20 61 20 70 61 72 74 20 6f 66 20 61 20 77 68 61 74 65 76 65 72 2d 64 69 escribes.a.part.of.a.whatever-di
1860 6d 65 6e 73 69 6f 6e 61 6c 0a 73 70 61 63 65 2c 20 63 61 6c 6c 65 64 20 61 20 2a 64 6f 6d 61 69 mensional.space,.called.a.*domai
1880 6e 2a 2c 20 61 6e 64 20 77 65 20 77 61 6e 74 20 74 6f 20 73 63 61 6e 20 69 74 2e 20 4c 65 74 20 n*,.and.we.want.to.scan.it..Let.
18a0 75 73 20 63 6f 6e 73 69 64 65 72 20 66 6f 72 0a 69 6e 73 74 61 6e 63 65 20 74 68 65 20 66 6f 6c us.consider.for.instance.the.fol
18c0 6c 6f 77 69 6e 67 20 73 65 74 20 6f 66 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 77 68 65 72 65 20 lowing.set.of.constraints.where.
18e0 60 69 27 20 61 6e 64 20 60 6a 27 20 61 72 65 20 74 68 65 0a 75 6e 6b 6e 6f 77 6e 20 28 74 68 65 `i'.and.`j'.are.the.unknown.(the
1900 20 74 77 6f 20 64 69 6d 65 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 70 61 63 65 29 20 61 6e .two.dimensions.of.the.space).an
1920 64 20 60 6d 27 20 61 6e 64 20 60 6e 27 20 61 72 65 20 74 68 65 0a 70 61 72 61 6d 65 74 65 72 73 d.`m'.and.`n'.are.the.parameters
1940 20 28 73 6f 6d 65 20 73 79 6d 62 6f 6c 69 63 20 63 6f 6e 73 74 61 6e 74 73 29 3a 0a 20 20 20 20 .(some.symbolic.constants):.....
1960 20 32 3c 3d 69 3c 3d 6e 0a 20 20 20 20 20 32 3c 3d 6a 3c 3d 6d 0a 20 20 20 20 20 6a 3c 3d 6e 2b .2<=i<=n......2<=j<=m......j<=n+
1980 32 2d 69 0a 4c 65 74 20 75 73 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 20 74 68 61 74 20 77 65 2-i.Let.us.also.consider.that.we
19a0 20 68 61 76 65 20 61 20 70 61 72 74 69 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 6f 66 20 74 68 65 .have.a.partial.knowledge.of.the
19c0 20 70 61 72 61 6d 65 74 65 72 0a 76 61 6c 75 65 73 2c 20 63 61 6c 6c 65 64 20 74 68 65 20 2a 63 .parameter.values,.called.the.*c
19e0 6f 6e 74 65 78 74 2a 2c 20 65 78 70 72 65 73 73 65 64 20 61 73 20 61 66 66 69 6e 65 20 63 6f 6e ontext*,.expressed.as.affine.con
1a00 73 74 72 61 69 6e 74 73 20 61 73 20 77 65 6c 6c 2c 0a 66 6f 72 20 69 6e 73 74 61 6e 63 65 3a 0a straints.as.well,.for.instance:.
1a20 20 20 20 20 20 6d 3e 3d 32 0a 20 20 20 20 20 6e 3e 3d 32 0a 4e 6f 74 65 20 74 68 61 74 20 75 73 .....m>=2......n>=2.Note.that.us
1a40 69 6e 67 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 6f 70 74 69 6f 6e 61 6c 2c 20 69 66 20 79 ing.parameters.is.optional,.if.y
1a60 6f 75 20 61 72 65 20 6e 6f 74 20 63 6f 6d 66 6f 72 74 61 62 6c 65 20 77 69 74 68 0a 70 61 72 61 ou.are.not.comfortable.with.para
1a80 6d 65 74 65 72 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 2c 20 6a 75 73 74 20 72 65 70 6c 61 63 65 meter.manipulation,.just.replace
1aa0 20 74 68 65 6d 20 77 69 74 68 20 61 6e 79 20 73 63 61 6c 61 72 20 76 61 6c 75 65 20 74 68 61 74 .them.with.any.scalar.value.that
1ac0 0a 66 69 74 73 20 60 6d 3e 3d 32 27 20 61 6e 64 20 60 6e 3e 3d 32 27 2e 20 20 41 20 67 72 61 70 .fits.`m>=2'.and.`n>=2'...A.grap
1ae0 68 69 63 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 70 61 72 hical.representation.of.this.par
1b00 74 20 6f 66 20 74 68 65 0a 32 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 73 70 61 63 65 2c 20 77 68 t.of.the.2-dimensional.space,.wh
1b20 65 72 65 20 74 68 65 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 73 20 61 72 65 20 72 65 70 72 ere.the.integral.points.are.repr
1b40 65 73 65 6e 74 65 64 20 75 73 69 6e 67 0a 68 65 61 76 79 20 64 6f 74 73 20 77 6f 75 6c 64 20 62 esented.using.heavy.dots.would.b
1b60 65 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 3a 0a 0a 00 08 5b 69 6d 61 67 65 20 73 72 63 3d 22 69 e.for.instance:....[image.src="i
1b80 6d 61 67 65 73 2f 62 61 73 69 63 2e 6a 70 67 22 20 74 65 78 74 3d 22 20 6a 5e 20 69 3e 3d 32 0a mages/basic.jpg".text=".j^.i>=2.
1ba0 20 20 7c 20 7c 20 6a 3c 3d 6e 2b 32 2d 69 0a 20 20 7c 20 7c 5c 5c 20 20 20 20 20 7c 20 69 3c 3d ..|.|.j<=n+2-i...|.|\\.....|.i<=
1bc0 6e 0a 20 20 7c 20 7c 20 5c 5c 20 20 20 20 7c 0a 6d 2d 2b 2d 2a 2a 2a 2a 2d 2d 2d 2b 2d 6a 3c 3d n...|.|.\\....|.m-+-****---+-j<=
1be0 6d 0a 20 20 7c 20 2a 2a 2a 2a 2a 20 20 7c 0a 20 20 7c 20 2a 2a 2a 2a 2a 2a 20 7c 0a 20 20 7c 20 m...|.*****..|...|.******.|...|.
1c00 2a 2a 2a 2a 2a 2a 2a 7c 0a 32 2d 2b 2d 2a 2a 2a 2a 2a 2a 2a 2a 2d 6a 3e 3d 32 0a 20 20 7c 20 7c *******|.2-+-********-j>=2...|.|
1c20 20 20 20 20 20 20 7c 5c 5c 0a 30 2d 2b 2d 2b 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 3e 69 0a 20 20 7c 20 ......|\\.0-+-+------+--->i...|.
1c40 7c 20 20 20 20 20 20 7c 0a 20 20 30 20 32 20 20 20 20 20 20 6e 0a 22 00 08 5d 0a 0a 20 20 20 54 |......|...0.2......n."..].....T
1c60 68 65 20 61 66 66 69 6e 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 6f 66 20 62 6f 74 68 20 74 68 he.affine.constraints.of.both.th
1c80 65 20 64 6f 6d 61 69 6e 20 61 6e 64 20 74 68 65 20 63 6f 6e 74 65 78 74 20 61 72 65 20 77 68 61 e.domain.and.the.context.are.wha
1ca0 74 0a 77 65 20 77 69 6c 6c 20 70 72 6f 76 69 64 65 20 74 6f 20 43 4c 6f 6f 47 20 61 73 20 69 6e t.we.will.provide.to.CLooG.as.in
1cc0 70 75 74 20 28 69 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 73 68 61 70 65 20 74 68 61 74 20 put.(in.a.particular.shape.that.
1ce0 77 69 6c 6c 20 62 65 0a 64 65 73 63 72 69 62 65 64 20 6c 61 74 65 72 29 2e 20 20 54 68 65 20 6f will.be.described.later)...The.o
1d00 75 74 70 75 74 20 6f 66 20 43 4c 6f 6f 47 20 69 73 20 61 20 70 73 65 75 64 6f 2d 63 6f 64 65 20 utput.of.CLooG.is.a.pseudo-code.
1d20 74 6f 20 73 63 61 6e 20 74 68 65 0a 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 73 20 6f 66 20 74 to.scan.the.integral.points.of.t
1d40 68 65 20 69 6e 70 75 74 20 64 6f 6d 61 69 6e 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 he.input.domain.according.to.the
1d60 20 63 6f 6e 74 65 78 74 3a 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 32 3b 69 3c 3d 6e 3b 69 2b 2b .context:......for.(i=2;i<=n;i++
1d80 29 20 7b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 32 3b 6a 3c 3d 6d 69 6e 28 6d 2c 2d 69 2b ).{........for.(j=2;j<=min(m,-i+
1da0 6e 2b 32 29 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 31 28 69 2c 6a 29 20 3b 0a 20 n+2);j++).{..........S1(i,j).;..
1dc0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 49 66 20 79 6f 75 20 66 65 6c 74 20 73 75 63 68 20 ......}......}.If.you.felt.such.
1de0 61 20 62 61 73 69 63 20 65 78 61 6d 70 6c 65 20 69 73 20 79 65 74 20 69 6e 74 65 72 65 73 74 69 a.basic.example.is.yet.interesti
1e00 6e 67 2c 20 74 68 65 72 65 20 69 73 20 61 20 67 6f 6f 64 0a 63 68 61 6e 63 65 20 74 68 61 74 20 ng,.there.is.a.good.chance.that.
1e20 43 4c 6f 6f 47 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 79 6f 75 2e 20 43 4c CLooG.is.appropriate.for.you..CL
1e40 6f 6f 47 20 63 61 6e 20 64 6f 20 6d 75 63 68 20 6d 6f 72 65 3a 0a 73 63 61 6e 6e 69 6e 67 20 73 ooG.can.do.much.more:.scanning.s
1e60 65 76 65 72 61 6c 20 70 6f 6c 79 68 65 64 72 61 20 6f 72 20 75 6e 69 6f 6e 73 20 6f 66 20 70 6f everal.polyhedra.or.unions.of.po
1e80 6c 79 68 65 64 72 61 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2c 0a 61 70 70 6c 79 69 lyhedra.at.the.same.time,.applyi
1ea0 6e 67 20 67 65 6e 65 72 61 6c 20 61 66 66 69 6e 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e ng.general.affine.transformation
1ec0 73 20 74 6f 20 74 68 65 20 70 6f 6c 79 68 65 64 72 61 2c 20 67 65 6e 65 72 61 74 65 0a 63 6f 6d s.to.the.polyhedra,.generate.com
1ee0 70 69 6c 61 62 6c 65 20 63 6f 64 65 20 65 74 63 2e 20 57 65 6c 63 6f 6d 65 20 74 6f 20 74 68 65 pilable.code.etc..Welcome.to.the
1f00 20 43 4c 6f 6f 47 27 73 20 75 73 65 72 27 73 20 67 75 69 64 65 20 21 0a 0a 1f 0a 46 69 6c 65 3a .CLooG's.user's.guide.!....File:
1f20 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 63 61 74 74 65 72 69 6e 67 2c 20 .cloog.info,..Node:.Scattering,.
1f40 20 50 72 65 76 3a 20 42 61 73 69 63 73 2c 20 20 55 70 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e .Prev:.Basics,..Up:.Introduction
1f60 0a 0a 31 2e 32 20 44 65 66 69 6e 69 6e 67 20 61 20 53 63 61 6e 6e 69 6e 67 20 4f 72 64 65 72 3a ..1.2.Defining.a.Scanning.Order:
1f80 20 53 63 61 74 74 65 72 69 6e 67 20 46 75 6e 63 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Scattering.Functions.==========
1fa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1fc0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 6e 20 43 4c 6f 6f 47 2c 20 64 6f 6d 61 69 6e 73 20 6f 6e 6c =========..In.CLooG,.domains.onl
1fe0 79 20 64 65 66 69 6e 65 20 74 68 65 20 73 65 74 20 6f 66 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 y.define.the.set.of.integral.poi
2000 6e 74 73 20 74 6f 20 73 63 61 6e 20 61 6e 64 0a 74 68 65 69 72 20 63 6f 6f 72 64 69 6e 61 74 65 nts.to.scan.and.their.coordinate
2020 73 2e 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 43 4c 6f 6f 47 20 69 73 20 66 72 65 65 20 s..In.particular,.CLooG.is.free.
2040 74 6f 20 63 68 6f 6f 73 65 20 74 68 65 20 73 63 61 6e 6e 69 6e 67 0a 6f 72 64 65 72 20 66 6f 72 to.choose.the.scanning.order.for
2060 20 67 65 6e 65 72 61 74 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 65 66 66 69 63 69 65 6e 74 20 63 .generating.the.most.efficient.c
2080 6f 64 65 2e 20 54 68 69 73 20 6d 65 61 6e 73 2c 20 66 6f 72 0a 6f 70 74 69 6d 69 7a 69 6e 67 2f ode..This.means,.for.optimizing/
20a0 70 61 72 61 6c 6c 65 6c 69 7a 69 6e 67 20 63 6f 6d 70 69 6c 65 72 20 70 65 6f 70 6c 65 2c 20 74 parallelizing.compiler.people,.t
20c0 68 61 74 20 43 4c 6f 6f 47 20 64 6f 65 73 6e 27 74 20 6d 61 6b 65 20 61 6e 79 0a 73 70 65 63 75 hat.CLooG.doesn't.make.any.specu
20e0 6c 61 74 69 6f 6e 20 6f 6e 20 64 65 70 65 6e 64 65 6e 63 65 73 20 6f 6e 20 61 6e 64 20 62 65 74 lation.on.dependences.on.and.bet
2100 77 65 65 6e 20 73 74 61 74 65 6d 65 6e 74 73 20 28 62 79 20 74 68 65 20 77 61 79 2c 20 69 74 27 ween.statements.(by.the.way,.it'
2120 73 0a 6e 6f 74 20 69 74 73 20 6a 6f 62 20 21 29 2e 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c s.not.its.job.!)...For.instance,
2140 20 69 66 20 61 6e 20 75 73 65 72 20 67 69 76 65 20 74 6f 20 43 4c 6f 6f 47 20 6f 6e 6c 79 20 74 .if.an.user.give.to.CLooG.only.t
2160 77 6f 0a 64 6f 6d 61 69 6e 73 20 60 53 31 3a 31 3c 3d 69 3c 3d 6e 27 2c 20 60 53 32 3a 31 3c 3d wo.domains.`S1:1<=i<=n',.`S2:1<=
2180 69 3c 3d 6e 27 20 61 6e 64 20 74 68 65 20 63 6f 6e 74 65 78 74 20 60 6e 3e 3d 31 27 2c 20 74 68 i<=n'.and.the.context.`n>=1',.th
21a0 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 70 73 65 75 64 6f 2d 63 6f 64 65 73 20 61 72 65 20 63 6f 6e e.following.pseudo-codes.are.con
21c0 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 20 sidered.to.be.equivalent:.......
21e0 2f 2a 20 41 20 63 6f 6e 76 65 6e 69 65 6e 74 20 74 61 72 67 65 74 20 70 73 65 75 64 6f 2d 63 6f /*.A.convenient.target.pseudo-co
2200 64 65 2e 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 31 3b 69 3c 3d 4e 3b 69 2b 2b 29 20 7b de..*/......for.(i=1;i<=N;i++).{
2220 0a 20 20 20 20 20 20 53 31 28 69 29 20 3b 0a 20 20 20 20 20 7d 0a 20 20 20 20 20 66 6f 72 20 28 .......S1(i).;......}......for.(
2240 69 3d 31 3b 69 3c 3d 4e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 53 32 28 69 29 20 3b 0a 20 20 i=1;i<=N;i++).{.......S2(i).;...
2260 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2a 20 41 6e 6f 74 68 65 72 20 63 6f 6e 76 65 6e 69 65 6e 74 ...}......./*.Another.convenient
2280 20 74 61 72 67 65 74 20 70 73 65 75 64 6f 2d 63 6f 64 65 2e 20 2a 2f 0a 20 20 20 20 20 66 6f 72 .target.pseudo-code..*/......for
22a0 20 28 69 3d 31 3b 69 3c 3d 4e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 53 31 28 69 29 20 3b 0a .(i=1;i<=N;i++).{.......S1(i).;.
22c0 20 20 20 20 20 20 53 32 28 69 29 20 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 54 68 65 20 64 65 66 ......S2(i).;......}.....The.def
22e0 61 75 6c 74 20 62 65 68 61 76 69 6f 75 72 20 6f 66 20 43 4c 6f 6f 47 20 69 73 20 74 6f 20 67 65 ault.behaviour.of.CLooG.is.to.ge
2300 6e 65 72 61 74 65 20 74 68 65 20 73 65 63 6f 6e 64 20 6f 6e 65 2c 20 73 69 6e 63 65 0a 69 74 20 nerate.the.second.one,.since.it.
2320 69 73 20 6f 70 74 69 6d 69 7a 65 64 20 69 6e 20 63 6f 6e 74 72 6f 6c 2e 20 20 49 74 20 69 73 20 is.optimized.in.control...It.is.
2340 72 69 67 68 74 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 64 61 74 61 0a 64 65 70 65 6e right.if.there.are.no.data.depen
2360 64 65 6e 63 65 73 20 62 65 74 77 65 65 6e 20 60 53 31 27 20 61 6e 64 20 60 53 32 27 2c 20 62 75 dences.between.`S1'.and.`S2',.bu
2380 74 20 77 72 6f 6e 67 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 20 54 68 75 73 20 69 74 20 69 t.wrong.otherwise......Thus.it.i
23a0 73 20 6f 66 74 65 6e 20 75 73 65 66 75 6c 20 74 6f 20 66 6f 72 63 65 20 73 63 61 6e 6e 69 6e 67 s.often.useful.to.force.scanning
23c0 20 74 6f 20 72 65 73 70 65 63 74 20 61 20 67 69 76 65 6e 20 6f 72 64 65 72 2e 0a 54 68 69 73 20 .to.respect.a.given.order..This.
23e0 63 61 6e 20 62 65 20 64 6f 6e 65 20 69 6e 20 43 4c 6f 6f 47 20 62 79 20 75 73 69 6e 67 20 2a 73 can.be.done.in.CLooG.by.using.*s
2400 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2a 2e 20 53 63 61 74 74 65 72 69 6e 67 cattering.functions*..Scattering
2420 0a 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 73 63 68 65 64 75 6c 69 6e 67 2c 20 61 .is.a.shortcut.for.scheduling,.a
2440 6c 6c 6f 63 61 74 69 6f 6e 2c 20 63 68 75 6e 6b 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e llocation,.chunking.functions.an
2460 64 20 74 68 65 0a 6c 69 6b 65 20 77 65 20 63 61 6e 20 66 69 6e 64 20 69 6e 20 74 68 65 20 72 65 d.the.like.we.can.find.in.the.re
2480 73 74 72 75 63 74 75 72 69 6e 67 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6c 69 74 74 65 72 61 74 structuring.compilation.litterat
24a0 75 72 65 2e 20 54 68 65 72 65 0a 61 72 65 20 61 20 6c 6f 74 20 6f 66 20 72 65 61 73 6f 6e 73 20 ure..There.are.a.lot.of.reasons.
24c0 74 6f 20 73 63 61 74 74 65 72 20 74 68 65 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 73 20 6f to.scatter.the.integral.points.o
24e0 66 20 74 68 65 20 64 6f 6d 61 69 6e 73 0a 28 69 2e 65 2e 20 74 68 65 20 73 74 61 74 65 6d 65 6e f.the.domains.(i.e..the.statemen
2500 74 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 61 20 70 72 6f 67 72 61 6d 2c 20 66 6f 72 20 63 6f t.instances.of.a.program,.for.co
2520 6d 70 69 6c 61 74 69 6f 6e 20 70 65 6f 70 6c 65 29 2c 0a 70 61 72 61 6c 6c 65 6c 69 7a 61 74 69 mpilation.people),.parallelizati
2540 6f 6e 20 6f 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 61 72 65 20 67 6f 6f 64 20 65 78 61 6d on.or.optimization.are.good.exam
2560 70 6c 65 73 2e 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 74 68 65 0a 75 73 65 72 20 ples..For.instance,.if.the.user.
2580 77 61 6e 74 73 20 66 6f 72 20 61 6e 79 20 72 65 61 73 6f 6e 20 74 6f 20 73 65 74 20 73 6f 6d 65 wants.for.any.reason.to.set.some
25a0 20 70 72 65 63 65 64 65 6e 63 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 62 65 74 77 65 65 6e 0a .precedence.constraints.between.
25c0 74 68 65 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 66 20 6f 75 72 20 65 78 61 6d 70 6c 65 20 61 62 the.statements.of.our.example.ab
25e0 6f 76 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 6f 72 63 65 20 74 68 65 20 67 65 6e 65 72 61 ove.in.order.to.force.the.genera
2600 74 69 6f 6e 20 6f 66 0a 74 68 65 20 66 69 72 73 74 20 63 6f 64 65 2c 20 68 65 20 63 61 6e 20 64 tion.of.the.first.code,.he.can.d
2620 6f 20 69 74 20 65 61 73 69 6c 79 20 62 79 20 73 65 74 74 69 6e 67 20 28 66 6f 72 20 65 78 61 6d o.it.easily.by.setting.(for.exam
2640 70 6c 65 29 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 73 63 68 65 64 75 6c 69 6e 67 20 66 75 ple).the.following.scheduling.fu
2660 6e 63 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 20 54 5f 53 31 28 69 29 20 3d 20 28 31 29 0a 20 20 20 nctions:.......T_S1(i).=.(1)....
2680 20 20 54 5f 53 32 28 6a 29 20 3d 20 28 32 29 0a 0a 20 20 20 54 68 69 73 20 73 63 61 74 74 65 72 ..T_S2(j).=.(2).....This.scatter
26a0 69 6e 67 20 6d 65 61 6e 73 20 74 68 61 74 20 65 61 63 68 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 ing.means.that.each.integral.poi
26c0 6e 74 20 6f 66 20 74 68 65 20 64 6f 6d 61 69 6e 20 60 53 31 27 20 69 73 0a 73 63 61 6e 6e 65 64 nt.of.the.domain.`S1'.is.scanned
26e0 20 61 74 20 6c 6f 67 69 63 61 6c 20 64 61 74 65 20 60 31 27 20 77 68 69 6c 65 20 65 61 63 68 20 .at.logical.date.`1'.while.each.
2700 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 20 6f 66 20 74 68 65 20 64 6f 6d 61 69 6e 0a 60 53 32 integral.point.of.the.domain.`S2
2720 27 20 69 73 20 73 63 61 6e 6e 65 64 20 61 74 20 6c 6f 67 69 63 61 6c 20 64 61 74 65 20 60 32 27 '.is.scanned.at.logical.date.`2'
2740 2e 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 74 68 65 20 77 68 6f 6c 65 20 64 6f 6d 61 69 6e 20 ..As.a.result,.the.whole.domain.
2760 60 53 31 27 0a 69 73 20 73 63 61 6e 6e 65 64 20 62 65 66 6f 72 65 20 64 6f 6d 61 69 6e 20 60 53 `S1'.is.scanned.before.domain.`S
2780 32 27 20 61 6e 64 20 74 68 65 20 66 69 72 73 74 20 63 6f 64 65 20 69 6e 20 6f 75 72 20 65 78 61 2'.and.the.first.code.in.our.exa
27a0 6d 70 6c 65 20 69 73 0a 67 65 6e 65 72 61 74 65 64 2e 0a 0a 20 20 20 54 68 65 20 75 73 65 72 20 mple.is.generated......The.user.
27c0 63 61 6e 20 73 65 74 20 65 76 65 72 79 20 6b 69 6e 64 20 6f 66 20 61 66 66 69 6e 65 20 73 63 61 can.set.every.kind.of.affine.sca
27e0 6e 6e 69 6e 67 20 6f 72 64 65 72 20 74 68 61 6e 6b 73 20 74 6f 20 74 68 65 0a 73 63 61 74 74 65 nning.order.thanks.to.the.scatte
2800 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2e 20 45 61 63 68 20 64 6f 6d 61 69 6e 20 68 61 73 20 ring.functions..Each.domain.has.
2820 69 74 73 20 6f 77 6e 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 0a its.own.scattering.function.and.
2840 65 61 63 68 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 62 65 20 each.scattering.function.may.be.
2860 6d 75 6c 74 69 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 2e 20 41 20 6d 75 6c 74 69 2d 64 69 6d 65 6e multi-dimensional..A.multi-dimen
2880 74 69 6f 6e 61 6c 0a 6c 6f 67 69 63 61 6c 20 64 61 74 65 20 6d 61 79 20 62 65 20 73 65 65 6e 20 tional.logical.date.may.be.seen.
28a0 61 73 20 63 6c 61 73 73 69 63 61 6c 20 64 61 74 65 0a 28 79 65 61 72 2c 6d 6f 6e 74 68 2c 64 61 as.classical.date.(year,month,da
28c0 79 2c 68 6f 75 72 2c 6d 69 6e 75 74 65 2c 65 74 63 2e 29 20 77 68 65 72 65 20 74 68 65 20 66 69 y,hour,minute,etc.).where.the.fi
28e0 72 73 74 20 64 69 6d 65 6e 73 69 6f 6e 73 20 61 72 65 20 74 68 65 0a 6d 6f 73 74 20 73 69 67 6e rst.dimensions.are.the.most.sign
2900 69 66 69 63 61 6e 74 2e 20 45 61 63 68 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 ificant..Each.scattering.dimensi
2920 6f 6e 20 6d 61 79 20 64 65 70 65 6e 64 20 6c 69 6e 65 61 72 6c 79 20 6f 6e 20 74 68 65 0a 6f 72 on.may.depend.linearly.on.the.or
2940 69 67 69 6e 61 6c 20 64 69 6d 65 6e 73 69 6f 6e 73 20 28 65 2e 67 2e 2c 20 60 69 27 29 2c 20 74 iginal.dimensions.(e.g.,.`i'),.t
2960 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 28 65 2e 67 2e 2c 20 60 6e 27 29 20 61 6e 73 20 73 63 he.parameters.(e.g.,.`n').ans.sc
2980 61 6c 61 72 73 0a 28 65 2e 67 2e 2c 20 60 32 27 29 2e 0a 0a 20 20 20 41 20 76 65 72 79 20 75 73 alars.(e.g.,.`2')......A.very.us
29a0 65 66 75 6c 20 65 78 61 6d 70 6c 65 20 6f 66 20 6d 75 6c 74 69 2d 64 69 6d 65 6e 73 69 6f 6e 61 eful.example.of.multi-dimensiona
29c0 6c 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 69 73 2c 0a 66 6f 72 20 63 l.scattering.functions.is,.for.c
29e0 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 65 6f 70 6c 65 2c 20 74 68 65 20 73 63 68 65 64 75 6c 69 6e ompilation.people,.the.schedulin
2a00 67 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 70 72 6f 67 72 61 6d 2e 20 20 54 68 65 0a g.of.the.original.program...The.
2a20 62 61 73 69 63 20 64 61 74 61 20 74 6f 20 75 73 65 20 66 6f 72 20 63 6f 64 65 20 67 65 6e 65 72 basic.data.to.use.for.code.gener
2a40 61 74 69 6f 6e 20 61 72 65 20 73 74 61 74 65 6d 65 6e 74 20 69 74 65 72 61 74 69 6f 6e 20 64 6f ation.are.statement.iteration.do
2a60 6d 61 69 6e 73 2e 0a 41 73 20 77 65 20 73 61 77 2c 20 74 68 65 73 65 20 64 61 74 61 20 61 72 65 mains..As.we.saw,.these.data.are
2a80 20 6e 6f 74 20 73 75 66 66 69 63 69 65 6e 74 20 74 6f 20 72 65 62 75 69 6c 64 20 74 68 65 20 6f .not.sufficient.to.rebuild.the.o
2aa0 72 69 67 69 6e 61 6c 0a 70 72 6f 67 72 61 6d 20 28 77 68 61 74 20 69 73 20 74 68 65 20 6f 72 64 riginal.program.(what.is.the.ord
2ac0 65 72 69 6e 67 20 62 65 74 77 65 65 6e 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 64 69 66 66 65 ering.between.instances.of.diffe
2ae0 72 65 6e 74 20 73 74 61 74 65 6d 65 6e 74 73 0a 3f 29 2e 20 20 54 68 65 20 6d 69 73 73 69 6e 67 rent.statements.?)...The.missing
2b00 20 64 61 74 61 20 63 61 6e 20 62 65 20 70 75 74 20 69 6e 20 74 68 65 20 73 63 61 74 74 65 72 69 .data.can.be.put.in.the.scatteri
2b20 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 73 63 68 ng.functions.as.the.original.sch
2b40 65 64 75 6c 69 6e 67 2e 20 54 68 65 20 6d 65 74 68 6f 64 20 74 6f 20 63 6f 6d 70 75 74 65 20 69 eduling..The.method.to.compute.i
2b60 74 20 69 73 20 71 75 69 74 65 20 73 69 6d 70 6c 65 20 28 2a 6e 6f 74 65 0a 46 65 61 39 32 3a 3a t.is.quite.simple.(*note.Fea92::
2b80 29 2e 20 54 68 65 20 69 64 65 61 20 69 73 20 74 6f 20 62 75 69 6c 64 20 61 6e 20 61 62 73 74 72 )..The.idea.is.to.build.an.abstr
2ba0 61 63 74 20 73 79 6e 74 61 78 20 74 72 65 65 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 0a 61 act.syntax.tree.of.the.program.a
2bc0 6e 64 20 74 6f 20 72 65 61 64 20 74 68 65 20 73 63 68 65 64 75 6c 69 6e 67 20 66 6f 72 20 65 61 nd.to.read.the.scheduling.for.ea
2be0 63 68 20 73 74 61 74 65 6d 65 6e 74 2e 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 6c 65 74 20 ch.statement..For.instance,.let.
2c00 75 73 0a 63 6f 6e 73 69 64 65 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6d 70 6c 65 6d us.consider.the.following.implem
2c20 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 20 43 68 6f 6c 65 73 6b 79 20 66 61 63 74 6f 72 69 7a 61 entation.of.a.Cholesky.factoriza
2c40 74 69 6f 6e 3a 0a 0a 20 20 20 20 20 2f 2a 20 41 20 43 68 6f 6c 65 73 6b 79 20 66 61 63 74 6f 72 tion:......./*.A.Cholesky.factor
2c60 69 7a 61 74 69 6f 6e 20 6b 65 72 6e 65 6c 2e 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 31 ization.kernel..*/......for.(i=1
2c80 3b 69 3c 3d 4e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 31 3b 6a 3c 3d ;i<=N;i++).{........for.(j=1;j<=
2ca0 69 2d 31 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 61 5b 69 5d 5b 69 5d 20 2d 3d 20 61 i-1;j++).{..........a[i][i].-=.a
2cc0 5b 69 5d 5b 6a 5d 20 3b 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 53 31 20 2a 2f 0a 20 20 20 20 [i][j].;.........../*.S1.*/.....
2ce0 20 20 20 7d 0a 20 20 20 20 20 20 20 61 5b 69 5d 5b 69 5d 20 3d 20 73 71 72 74 28 61 5b 69 5d 5b ...}........a[i][i].=.sqrt(a[i][
2d00 69 5d 29 20 3b 20 20 20 20 20 20 20 20 2f 2a 20 53 32 20 2a 2f 0a 20 20 20 20 20 20 20 66 6f 72 i]).;......../*.S2.*/........for
2d20 20 28 6a 3d 69 2b 31 3b 6a 3c 3d 4e 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 66 6f 72 .(j=i+1;j<=N;j++).{..........for
2d40 20 28 6b 3d 31 3b 6b 3c 3d 69 2d 31 3b 6b 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 61 .(k=1;k<=i-1;k++).{............a
2d60 5b 6a 5d 5b 69 5d 20 2d 3d 20 61 5b 6a 5d 5b 6b 5d 2a 61 5b 69 5d 5b 6b 5d 20 3b 20 2f 2a 20 53 [j][i].-=.a[j][k]*a[i][k].;./*.S
2d80 33 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 61 5b 6a 5d 5b 69 5d 3.*/..........}..........a[j][i]
2da0 20 2f 3d 20 61 5b 69 5d 5b 69 5d 20 3b 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 53 34 20 2a 2f ./=.a[i][i].;.........../*.S4.*/
2dc0 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 0a 20 20 20 ..........}........}......}.....
2de0 54 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 61 62 73 74 72 61 63 74 20 73 79 6e 74 61 The.corresponding.abstract.synta
2e00 78 20 74 72 65 65 20 69 73 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 x.tree.is.given.in.the.following
2e20 0a 66 69 67 75 72 65 2e 20 20 49 74 20 64 69 72 65 63 74 6c 79 20 67 69 76 65 73 20 74 68 65 20 .figure...It.directly.gives.the.
2e40 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 28 73 63 68 65 64 75 6c 65 73 29 scattering.functions.(schedules)
2e60 20 66 6f 72 20 61 6c 6c 0a 74 68 65 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 70 .for.all.the.statements.of.the.p
2e80 72 6f 67 72 61 6d 2e 0a 0a 00 08 5b 69 6d 61 67 65 20 73 72 63 3d 22 69 6d 61 67 65 73 2f 74 72 rogram.....[image.src="images/tr
2ea0 65 65 2e 6a 70 67 22 20 74 65 78 74 3d 22 20 20 20 20 20 20 20 2a 0a 20 20 20 20 20 20 20 7c 0a ee.jpg".text=".......*........|.
2ec0 20 20 20 20 20 20 20 7c 30 0a 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 56 0a 20 20 20 20 .......|0........|........V.....
2ee0 20 20 20 69 0a 20 20 20 20 20 20 20 7c 0a 20 2b 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2b 0a 20 7c 20 ...i........|..+-----+-----+..|.
2f00 20 20 20 20 7c 20 20 20 20 20 7c 0a 20 7c 30 20 20 20 20 7c 31 20 20 20 20 7c 32 0a 20 7c 20 20 ....|.....|..|0....|1....|2..|..
2f20 20 20 20 7c 20 20 20 20 20 7c 0a 20 56 20 20 20 20 20 56 20 20 20 20 20 56 0a 20 6a 20 20 20 20 ...|.....|..V.....V.....V..j....
2f40 20 53 32 20 20 20 20 6a 0a 20 7c 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 7c 30 20 20 20 20 20 .S2....j..|...........|..|0.....
2f60 20 20 2b 2d 2d 2b 2d 2d 2b 0a 20 7c 20 20 20 20 20 20 20 20 7c 20 20 20 20 20 7c 0a 20 56 20 20 ..+--+--+..|........|.....|..V..
2f80 20 20 20 20 20 20 7c 30 20 20 20 20 7c 31 0a 20 53 31 20 20 20 20 20 20 20 7c 20 20 20 20 20 7c ......|0....|1..S1.......|.....|
2fa0 0a 20 20 20 20 20 20 20 20 20 20 56 20 20 20 20 20 56 0a 20 20 20 20 20 20 20 20 20 20 6b 20 20 ...........V.....V...........k..
2fc0 20 20 20 53 34 0a 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 7c 30 0a 20 ...S4...........|...........|0..
2fe0 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 20 20 20 20 56 0a 20 20 20 20 20 20 20 20 20 .........|...........V..........
3000 20 53 33 0a 22 00 08 5d 0a 0a 20 20 20 20 20 54 5f 53 31 28 69 2c 6a 29 5e 54 20 20 20 3d 20 28 .S3."..].......T_S1(i,j)^T...=.(
3020 30 2c 69 2c 30 2c 6a 2c 30 29 5e 54 0a 20 20 20 20 20 54 5f 53 32 28 69 29 20 20 20 20 20 20 20 0,i,0,j,0)^T......T_S2(i).......
3040 3d 20 28 30 2c 69 2c 31 29 5e 54 0a 20 20 20 20 20 54 5f 53 33 28 69 2c 6a 2c 6b 29 5e 54 20 3d =.(0,i,1)^T......T_S3(i,j,k)^T.=
3060 20 28 30 2c 69 2c 32 2c 6a 2c 30 2c 6b 2c 30 29 5e 54 0a 20 20 20 20 20 54 5f 53 34 28 69 2c 6a .(0,i,2,j,0,k,0)^T......T_S4(i,j
3080 29 5e 54 20 20 20 3d 20 28 30 2c 69 2c 32 2c 6a 2c 31 29 5e 54 0a 0a 20 20 20 54 68 65 73 65 20 )^T...=.(0,i,2,j,1)^T.....These.
30a0 73 63 68 65 64 75 6c 65 73 20 64 65 70 65 6e 64 20 6f 6e 20 74 68 65 20 69 74 65 72 61 74 6f 72 schedules.depend.on.the.iterator
30c0 73 20 61 6e 64 20 67 69 76 65 20 66 6f 72 20 65 61 63 68 20 69 6e 73 74 61 6e 63 65 0a 6f 66 20 s.and.give.for.each.instance.of.
30e0 65 61 63 68 20 73 74 61 74 65 6d 65 6e 74 20 61 20 75 6e 69 71 75 65 20 65 78 65 63 75 74 69 6f each.statement.a.unique.executio
3100 6e 20 64 61 74 65 2e 20 55 73 69 6e 67 20 73 75 63 68 20 73 63 61 74 74 65 72 69 6e 67 0a 66 75 n.date..Using.such.scattering.fu
3120 6e 63 74 69 6f 6e 73 20 61 6c 6c 6f 77 20 43 4c 6f 6f 47 20 74 6f 20 72 65 2d 67 65 6e 65 72 61 nctions.allow.CLooG.to.re-genera
3140 74 65 20 74 68 65 20 69 6e 70 75 74 20 63 6f 64 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f te.the.input.code.....File:.cloo
3160 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 4c 6f 6f 47 20 53 6f 66 74 77 61 72 65 2c 20 20 g.info,..Node:.CLooG.Software,..
3180 4e 65 78 74 3a 20 43 4c 6f 6f 47 20 4c 69 62 72 61 72 79 2c 20 20 50 72 65 76 3a 20 49 6e 74 72 Next:.CLooG.Library,..Prev:.Intr
31a0 6f 64 75 63 74 69 6f 6e 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 32 20 55 73 69 6e 67 20 74 68 65 20 oduction,..Up:.Top..2.Using.the.
31c0 43 4c 6f 6f 47 20 53 6f 66 74 77 61 72 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a CLooG.Software.*****************
31e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 41 20 46 69 72 73 74 20 45 78 *********..*.Menu:..*.A.First.Ex
3200 61 6d 70 6c 65 3a 3a 0a 2a 20 57 72 69 74 69 6e 67 20 54 68 65 20 49 6e 70 75 74 20 46 69 6c 65 ample::.*.Writing.The.Input.File
3220 3a 3a 0a 2a 20 43 61 6c 6c 69 6e 67 20 43 4c 6f 6f 47 3a 3a 0a 2a 20 43 4c 6f 6f 47 20 4f 70 74 ::.*.Calling.CLooG::.*.CLooG.Opt
3240 69 6f 6e 73 3a 3a 0a 2a 20 46 75 6c 6c 20 45 78 61 6d 70 6c 65 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a ions::.*.Full.Example::....File:
3260 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 41 20 46 69 72 73 74 20 45 78 61 6d .cloog.info,..Node:.A.First.Exam
3280 70 6c 65 2c 20 20 4e 65 78 74 3a 20 57 72 69 74 69 6e 67 20 54 68 65 20 49 6e 70 75 74 20 46 69 ple,..Next:.Writing.The.Input.Fi
32a0 6c 65 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 53 6f 66 74 77 61 72 65 0a 0a 32 2e 31 20 41 20 46 le,..Up:.CLooG.Software..2.1.A.F
32c0 69 72 73 74 20 45 78 61 6d 70 6c 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d irst.Example.===================
32e0 0a 0a 43 4c 6f 6f 47 20 74 61 6b 65 73 20 61 73 20 69 6e 70 75 74 20 61 20 66 69 6c 65 20 74 68 ..CLooG.takes.as.input.a.file.th
3300 61 74 20 6d 75 73 74 20 62 65 20 77 72 69 74 74 65 6e 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 74 at.must.be.written.accordingly.t
3320 6f 20 61 0a 67 72 61 6d 6d 61 72 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 64 65 70 74 68 20 69 o.a.grammar.described.in.depth.i
3340 6e 20 61 20 66 75 72 74 68 65 72 20 73 65 63 74 69 6f 6e 20 28 2a 6e 6f 74 65 20 57 72 69 74 69 n.a.further.section.(*note.Writi
3360 6e 67 20 54 68 65 0a 49 6e 70 75 74 20 46 69 6c 65 3a 3a 29 2e 20 20 4d 6f 72 65 6f 76 65 72 20 ng.The.Input.File::)...Moreover.
3380 69 74 20 73 75 70 70 6f 72 74 73 20 6d 61 6e 79 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 75 6e 65 it.supports.many.options.to.tune
33a0 20 74 68 65 20 74 61 72 67 65 74 0a 63 6f 64 65 20 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 72 .the.target.code.presentation.or
33c0 20 71 75 61 6c 69 74 79 20 61 73 20 64 69 73 63 75 73 73 65 64 20 69 6e 20 61 20 64 65 64 69 63 .quality.as.discussed.in.a.dedic
33e0 61 74 65 64 20 73 65 63 74 69 6f 6e 20 28 2a 6e 6f 74 65 0a 43 61 6c 6c 69 6e 67 20 43 4c 6f 6f ated.section.(*note.Calling.CLoo
3400 47 3a 3a 29 2e 20 20 48 6f 77 65 76 65 72 2c 20 61 20 62 61 73 69 63 20 75 73 65 20 6f 66 20 43 G::)...However,.a.basic.use.of.C
3420 4c 6f 6f 47 20 69 73 20 6e 6f 74 20 76 65 72 79 20 63 6f 6d 70 6c 65 78 0a 61 6e 64 20 77 65 20 LooG.is.not.very.complex.and.we.
3440 70 72 65 73 65 6e 74 20 69 6e 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 68 6f 77 20 74 6f 20 67 present.in.this.section.how.to.g
3460 65 6e 65 72 61 74 65 20 74 68 65 20 63 6f 64 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 74 enerate.the.code.corresponding.t
3480 6f 20 61 20 62 61 73 69 63 20 65 78 61 6d 70 6c 65 20 64 69 73 63 75 73 73 65 64 20 65 61 72 6c o.a.basic.example.discussed.earl
34a0 69 65 72 20 28 2a 6e 6f 74 65 20 42 61 73 69 63 73 3a 3a 29 2e 0a 0a 20 20 20 54 68 65 20 70 72 ier.(*note.Basics::)......The.pr
34c0 6f 62 6c 65 6d 20 69 73 20 74 6f 20 66 69 6e 64 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 73 oblem.is.to.find.the.code.that.s
34e0 63 61 6e 73 20 61 20 32 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 70 6f 6c 79 68 65 64 72 6f 6e 0a cans.a.2-dimensional.polyhedron.
3500 77 68 65 72 65 20 60 69 27 20 61 6e 64 20 60 6a 27 20 61 72 65 20 74 68 65 20 75 6e 6b 6e 6f 77 where.`i'.and.`j'.are.the.unknow
3520 6e 20 28 74 68 65 20 74 77 6f 20 64 69 6d 65 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 70 61 n.(the.two.dimensions.of.the.spa
3540 63 65 29 20 61 6e 64 0a 60 6d 27 20 61 6e 64 20 60 6e 27 20 61 72 65 20 74 68 65 20 70 61 72 61 ce).and.`m'.and.`n'.are.the.para
3560 6d 65 74 65 72 73 20 28 74 68 65 20 73 79 6d 62 6f 6c 69 63 20 63 6f 6e 73 74 61 6e 74 73 29 2c meters.(the.symbolic.constants),
3580 20 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 74 20 6f 66 .defined.by.the.following.set.of
35a0 20 63 6f 6e 73 74 72 61 69 6e 74 73 3a 0a 20 20 20 20 20 32 3c 3d 69 3c 3d 6e 0a 20 20 20 20 20 .constraints:......2<=i<=n......
35c0 32 3c 3d 6a 3c 3d 6d 0a 20 20 20 20 20 6a 3c 3d 6e 2b 32 2d 69 0a 57 65 20 61 6c 73 6f 20 63 6f 2<=j<=m......j<=n+2-i.We.also.co
35e0 6e 73 69 64 65 72 20 61 20 70 61 72 74 69 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 20 6f 66 20 74 68 nsider.a.partial.knowledge.of.th
3600 65 20 70 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 73 2c 20 65 78 70 72 65 73 73 65 64 0a 74 68 e.parameter.values,.expressed.th
3620 61 6e 6b 73 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 66 66 69 6e 65 20 63 6f 6e anks.to.the.following.affine.con
3640 73 74 72 61 69 6e 74 73 3a 0a 20 20 20 20 20 6d 3e 3d 32 0a 20 20 20 20 20 6e 3e 3d 32 0a 0a 20 straints:......m>=2......n>=2...
3660 20 20 41 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 74 68 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 ..An.input.file.that.corresponds
3680 20 74 6f 20 74 68 69 73 20 70 72 6f 62 6c 65 6d 2c 20 61 6e 64 20 61 73 6b 73 20 66 6f 72 20 61 .to.this.problem,.and.asks.for.a
36a0 0a 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 69 6e 20 43 2c 20 6d 61 79 20 62 65 20 74 68 65 .generated.code.in.C,.may.be.the
36c0 20 66 6f 6c 6c 6f 77 69 6e 67 2e 20 4e 6f 74 65 20 74 68 61 74 20 77 65 20 64 6f 20 6e 6f 74 20 .following..Note.that.we.do.not.
36e0 64 65 73 63 72 69 62 65 0a 68 65 72 65 20 70 72 65 63 69 73 65 6c 79 20 74 68 65 20 73 74 72 75 describe.here.precisely.the.stru
3700 63 74 75 72 65 20 61 6e 64 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 74 68 69 73 cture.and.the.components.of.this
3720 20 66 69 6c 65 20 28 2a 6e 6f 74 65 0a 57 72 69 74 69 6e 67 20 54 68 65 20 49 6e 70 75 74 20 46 .file.(*note.Writing.The.Input.F
3740 69 6c 65 3a 3a 20 20 66 6f 72 20 73 75 63 68 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 69 66 20 ile::..for.such.information,.if.
3760 79 6f 75 20 66 65 65 6c 20 69 74 0a 6e 65 63 65 73 73 61 72 79 29 3a 0a 0a 20 20 20 20 20 23 20 you.feel.it.necessary):.......#.
3780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 43 4f 4e 54 45 58 54 20 2d ----------------------.CONTEXT.-
37a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 20 63 20 23 20 6c ---------------------......c.#.l
37c0 61 6e 67 75 61 67 65 20 69 73 20 43 0a 0a 20 20 20 20 20 23 20 43 6f 6e 74 65 78 74 20 28 63 6f anguage.is.C.......#.Context.(co
37e0 6e 73 74 72 61 69 6e 74 73 20 6f 6e 20 74 77 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0a 20 20 20 nstraints.on.two.parameters)....
3800 20 20 32 20 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 32 20 6c 69 6e 65 ..2.4...................#.2.line
3820 73 20 61 6e 64 20 34 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 71 2f 69 6e 20 6d 20 20 s.and.4.columns......#.eq/in.m..
3840 6e 20 20 31 20 20 20 20 20 20 20 20 20 65 71 2f 69 6e 3a 20 31 20 66 6f 72 20 69 6e 65 71 75 61 n..1.........eq/in:.1.for.inequa
3860 6c 69 74 79 20 3e 3d 30 2c 20 30 20 66 6f 72 20 65 71 75 61 6c 69 74 79 20 3d 30 0a 20 20 20 20 lity.>=0,.0.for.equality.=0.....
3880 20 20 20 20 20 31 20 20 20 31 20 20 30 20 2d 32 20 20 20 20 20 20 20 23 20 31 2a 6d 20 2b 20 30 .....1...1..0.-2.......#.1*m.+.0
38a0 2a 6e 20 2d 32 2a 31 20 3e 3d 20 30 2c 20 69 2e 65 2e 20 6d 3e 3d 32 0a 20 20 20 20 20 20 20 20 *n.-2*1.>=.0,.i.e..m>=2.........
38c0 20 31 20 20 20 30 20 20 31 20 2d 32 20 20 20 20 20 20 20 23 20 30 2a 6d 20 2b 20 31 2a 6e 20 2d .1...0..1.-2.......#.0*m.+.1*n.-
38e0 32 2a 31 20 3e 3d 20 30 2c 20 69 2e 65 2e 20 6e 3e 3d 32 0a 0a 20 20 20 20 20 31 20 23 20 57 65 2*1.>=.0,.i.e..n>=2.......1.#.We
3900 20 77 61 6e 74 20 74 6f 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 20 74 68 65 20 70 61 72 61 6d 65 .want.to.set.manually.the.parame
3920 74 65 72 20 6e 61 6d 65 73 0a 20 20 20 20 20 6d 20 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ter.names......m.n..............
3940 20 20 20 20 20 23 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 0a 0a 20 20 20 20 20 23 20 2d .....#.parameter.names.......#.-
3960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 53 54 41 54 45 4d 45 4e 54 53 20 --------------------.STATEMENTS.
3980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 20 31 20 23 20 4e 75 --------------------......1.#.Nu
39a0 6d 62 65 72 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 0a 0a 20 20 20 20 20 31 20 23 20 46 69 72 mber.of.statements.......1.#.Fir
39c0 73 74 20 73 74 61 74 65 6d 65 6e 74 3a 20 6f 6e 65 20 64 6f 6d 61 69 6e 0a 20 20 20 20 20 23 20 st.statement:.one.domain......#.
39e0 46 69 72 73 74 20 64 6f 6d 61 69 6e 0a 20 20 20 20 20 35 20 36 20 20 20 20 20 20 20 20 20 20 20 First.domain......5.6...........
3a00 20 20 20 20 20 20 20 20 23 20 35 20 6c 69 6e 65 73 20 61 6e 64 20 36 20 63 6f 6c 75 6d 6e 73 0a ........#.5.lines.and.6.columns.
3a20 20 20 20 20 20 23 20 65 71 2f 69 6e 20 69 20 20 6a 20 20 6d 20 20 6e 20 20 31 0a 20 20 20 20 20 .....#.eq/in.i..j..m..n..1......
3a40 20 20 20 20 31 20 20 20 31 20 20 30 20 20 30 20 20 30 20 2d 32 20 23 20 69 20 3e 3d 20 32 0a 20 ....1...1..0..0..0.-2.#.i.>=.2..
3a60 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 30 20 20 30 20 20 31 20 20 30 20 23 20 69 20 3c 3d ........1..-1..0..0..1..0.#.i.<=
3a80 20 6e 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 30 20 20 31 20 20 30 20 20 30 20 2d 32 20 23 20 .n..........1...0..1..0..0.-2.#.
3aa0 6a 20 3e 3d 20 32 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 30 20 2d 31 20 20 31 20 20 30 20 20 j.>=.2..........1...0.-1..1..0..
3ac0 30 20 23 20 6a 20 3c 3d 20 6d 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 2d 31 20 20 30 20 0.#.j.<=.m..........1..-1.-1..0.
3ae0 20 31 20 20 32 20 23 20 6e 2b 32 2d 69 3e 3d 6a 0a 20 20 20 20 20 30 20 20 30 20 20 30 20 20 20 .1..2.#.n+2-i>=j......0..0..0...
3b00 20 20 20 20 20 20 20 20 20 20 20 20 23 20 66 6f 72 20 66 75 74 75 72 65 20 6f 70 74 69 6f 6e 73 ............#.for.future.options
3b20 0a 0a 20 20 20 20 20 31 20 23 20 57 65 20 77 61 6e 74 20 74 6f 20 73 65 74 20 6d 61 6e 75 61 6c .......1.#.We.want.to.set.manual
3b40 6c 79 20 74 68 65 20 69 74 65 72 61 74 6f 72 20 6e 61 6d 65 73 0a 20 20 20 20 20 69 20 6a 20 20 ly.the.iterator.names......i.j..
3b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 69 74 65 72 61 74 6f 72 20 6e 61 6d 65 .................#.iterator.name
3b80 73 0a 0a 20 20 20 20 20 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 s.......#.---------------------.
3ba0 53 43 41 54 54 45 52 49 4e 47 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a SCATTERING.--------------------.
3bc0 20 20 20 20 20 30 20 23 20 4e 6f 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 .....0.#.No.scattering.functions
3be0 0a 0a 20 20 20 54 68 69 73 20 66 69 6c 65 20 6d 61 79 20 62 65 20 63 61 6c 6c 65 64 20 60 62 61 .....This.file.may.be.called.`ba
3c00 73 69 63 2e 63 6c 6f 6f 67 27 20 28 74 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 70 72 6f 76 sic.cloog'.(this.example.is.prov
3c20 69 64 65 64 20 69 6e 0a 74 68 65 20 43 4c 6f 6f 47 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 ided.in.the.CLooG.distribution.a
3c40 73 20 60 74 65 73 74 2f 6d 61 6e 75 61 6c 5f 62 61 73 69 63 2e 63 6c 6f 6f 67 27 29 20 61 6e 64 s.`test/manual_basic.cloog').and
3c60 20 77 65 20 63 61 6e 20 61 73 6b 0a 43 4c 6f 6f 47 20 74 6f 20 70 72 6f 63 65 73 73 20 69 74 20 .we.can.ask.CLooG.to.process.it.
3c80 61 6e 64 20 74 6f 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 63 6f 64 65 20 62 79 20 61 20 73 69 and.to.generate.the.code.by.a.si
3ca0 6d 70 6c 65 20 63 61 6c 6c 69 6e 67 20 74 6f 0a 43 4c 6f 6f 47 20 77 69 74 68 20 74 68 69 73 20 mple.calling.to.CLooG.with.this.
3cc0 66 69 6c 65 20 61 73 20 69 6e 70 75 74 3a 20 60 63 6c 6f 6f 67 20 62 61 73 69 63 2e 63 6c 6f 6f file.as.input:.`cloog.basic.cloo
3ce0 67 27 2e 20 42 79 20 64 65 66 61 75 6c 74 2c 20 43 4c 6f 6f 47 0a 77 69 6c 6c 20 70 72 69 6e 74 g'..By.default,.CLooG.will.print
3d00 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 69 6e 20 74 68 65 20 73 74 61 6e 64 .the.generated.code.in.the.stand
3d20 61 72 64 20 6f 75 74 70 75 74 3a 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 62 ard.output:......./*.Generated.b
3d40 79 20 43 4c 6f 6f 47 20 76 20 69 6e 20 30 2e 30 30 73 2e 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 y.CLooG.v.in.0.00s..*/......for.
3d60 28 69 3d 32 3b 69 3c 3d 6e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 32 (i=2;i<=n;i++).{........for.(j=2
3d80 3b 6a 3c 3d 6d 69 6e 28 6d 2c 2d 69 2b 6e 2b 32 29 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 ;j<=min(m,-i+n+2);j++).{........
3da0 20 20 53 31 28 69 2c 6a 29 20 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 ..S1(i,j).;........}......}....F
3dc0 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 57 72 69 74 69 6e 67 20 ile:.cloog.info,..Node:.Writing.
3de0 54 68 65 20 49 6e 70 75 74 20 46 69 6c 65 2c 20 20 4e 65 78 74 3a 20 43 61 6c 6c 69 6e 67 20 43 The.Input.File,..Next:.Calling.C
3e00 4c 6f 6f 47 2c 20 20 50 72 65 76 3a 20 41 20 46 69 72 73 74 20 45 78 61 6d 70 6c 65 2c 20 20 55 LooG,..Prev:.A.First.Example,..U
3e20 70 3a 20 43 4c 6f 6f 47 20 53 6f 66 74 77 61 72 65 0a 0a 32 2e 32 20 57 72 69 74 69 6e 67 20 54 p:.CLooG.Software..2.2.Writing.T
3e40 68 65 20 49 6e 70 75 74 20 46 69 6c 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d he.Input.File.==================
3e60 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 69 6e 70 75 74 20 74 65 78 74 20 66 69 6c 65 20 63 6f ========..The.input.text.file.co
3e80 6e 74 61 69 6e 73 20 61 20 70 72 6f 62 6c 65 6d 20 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 69 2e ntains.a.problem.description,.i.
3ea0 65 2e 20 74 68 65 20 63 6f 6e 74 65 78 74 2c 0a 74 68 65 20 64 6f 6d 61 69 6e 73 20 61 6e 64 20 e..the.context,.the.domains.and.
3ec0 74 68 65 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 42 65 63 61 75 the.scattering.functions...Becau
3ee0 73 65 20 43 4c 6f 6f 47 20 69 73 20 76 65 72 79 0a 27 63 6f 6d 70 69 6c 61 62 6c 65 20 63 6f 64 se.CLooG.is.very.'compilable.cod
3f00 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 6f 72 69 65 6e 74 65 64 27 2c 20 77 65 20 63 61 6e 20 61 e.generation.oriented',.we.can.a
3f20 73 73 6f 63 69 61 74 65 20 73 6f 6d 65 20 61 64 64 69 74 69 6f 6e 61 6c 0a 69 6e 66 6f 72 6d 61 ssociate.some.additional.informa
3f40 74 69 6f 6e 73 20 74 6f 20 65 61 63 68 20 64 6f 6d 61 69 6e 2e 20 57 65 20 63 61 6c 6c 20 74 68 tions.to.each.domain..We.call.th
3f60 69 73 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 61 20 5f 73 74 61 74 65 6d 65 6e 74 5f 2e 0a 54 68 is.association.a._statement_..Th
3f80 65 20 73 65 74 20 6f 66 20 61 6c 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 20 69 73 20 63 61 6c e.set.of.all.informations.is.cal
3fa0 6c 65 64 20 61 20 5f 70 72 6f 67 72 61 6d 5f 2e 20 54 68 65 20 69 6e 70 75 74 20 66 69 6c 65 0a led.a._program_..The.input.file.
3fc0 72 65 73 70 65 63 74 73 20 74 68 65 20 67 72 61 6d 6d 61 72 20 62 65 6c 6f 77 20 28 74 65 72 6d respects.the.grammar.below.(term
3fe0 69 6e 61 6c 73 20 61 72 65 20 70 72 65 63 65 65 64 65 64 20 62 79 20 22 5f 22 29 3a 0a 0a 20 20 inals.are.preceeded.by."_"):....
4000 20 20 20 46 69 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 3a 3d 20 50 72 6f 67 72 61 6d 0a ...File.............::=.Program.
4020 20 20 20 20 20 50 72 6f 67 72 61 6d 20 20 20 20 20 20 20 20 20 20 3a 3a 3d 20 43 6f 6e 74 65 78 .....Program..........::=.Contex
4040 74 20 53 74 61 74 65 6d 65 6e 74 73 20 53 63 61 74 74 65 72 69 6e 67 0a 20 20 20 20 20 43 6f 6e t.Statements.Scattering......Con
4060 74 65 78 74 20 20 20 20 20 20 20 20 20 20 3a 3a 3d 20 4c 61 6e 67 75 61 67 65 20 20 20 20 20 20 text..........::=.Language......
4080 44 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20 4e 61 6d 69 6e 67 0a 20 20 20 20 20 53 74 61 74 65 Domain.........Naming......State
40a0 6d 65 6e 74 73 20 20 20 20 20 20 20 3a 3a 3d 20 4e 62 5f 73 74 61 74 65 6d 65 6e 74 73 20 53 74 ments.......::=.Nb_statements.St
40c0 61 74 65 6d 65 6e 74 5f 6c 69 73 74 20 4e 61 6d 69 6e 67 0a 20 20 20 20 20 53 63 61 74 74 65 72 atement_list.Naming......Scatter
40e0 69 6e 67 20 20 20 20 20 20 20 3a 3a 3d 20 4e 62 5f 66 75 6e 63 74 69 6f 6e 73 20 20 44 6f 6d 61 ing.......::=.Nb_functions..Doma
4100 69 6e 5f 6c 69 73 74 20 20 20 20 4e 61 6d 69 6e 67 0a 20 20 20 20 20 4e 61 6d 69 6e 67 20 20 20 in_list....Naming......Naming...
4120 20 20 20 20 20 20 20 20 3a 3a 3d 20 4f 70 74 69 6f 6e 20 4e 61 6d 65 5f 6c 69 73 74 0a 20 20 20 ........::=.Option.Name_list....
4140 20 20 4e 61 6d 65 5f 6c 69 73 74 20 20 20 20 20 20 20 20 3a 3a 3d 20 5f 53 74 72 69 6e 67 20 20 ..Name_list........::=._String..
4160 20 4e 61 6d 65 5f 6c 69 73 74 20 20 20 20 20 20 7c 20 28 76 6f 69 64 29 0a 20 20 20 20 20 53 74 .Name_list......|.(void)......St
4180 61 74 65 6d 65 6e 74 5f 6c 69 73 74 20 20 20 3a 3a 3d 20 53 74 61 74 65 6d 65 6e 74 20 53 74 61 atement_list...::=.Statement.Sta
41a0 74 65 6d 65 6e 74 5f 6c 69 73 74 20 7c 20 28 76 6f 69 64 29 0a 20 20 20 20 20 44 6f 6d 61 69 6e tement_list.|.(void)......Domain
41c0 5f 6c 69 73 74 20 20 20 20 20 20 3a 3a 3d 20 5f 44 6f 6d 61 69 6e 20 20 20 44 6f 6d 61 69 6e 5f _list......::=._Domain...Domain_
41e0 6c 69 73 74 20 20 20 20 7c 20 28 76 6f 69 64 29 0a 20 20 20 20 20 53 74 61 74 65 6d 65 6e 74 20 list....|.(void)......Statement.
4200 20 20 20 20 20 20 20 3a 3a 3d 20 49 74 65 72 61 74 69 6f 6e 5f 64 6f 6d 61 69 6e 20 30 20 30 20 .......::=.Iteration_domain.0.0.
4220 30 0a 20 20 20 20 20 49 74 65 72 61 74 69 6f 6e 5f 64 6f 6d 61 69 6e 20 3a 3a 3d 20 44 6f 6d 61 0......Iteration_domain.::=.Doma
4240 69 6e 5f 75 6e 69 6f 6e 0a 20 20 20 20 20 44 6f 6d 61 69 6e 5f 75 6e 69 6f 6e 20 20 20 20 20 3a in_union......Domain_union.....:
4260 3a 3d 20 4e 62 5f 64 6f 6d 61 69 6e 73 20 44 6f 6d 61 69 6e 5f 6c 69 73 74 0a 20 20 20 20 20 4f :=.Nb_domains.Domain_list......O
4280 70 74 69 6f 6e 20 20 20 20 20 20 20 20 20 20 20 3a 3a 3d 20 30 20 7c 20 31 0a 20 20 20 20 20 4c ption...........::=.0.|.1......L
42a0 61 6e 67 75 61 67 65 20 20 20 20 20 20 20 20 20 3a 3a 3d 20 63 20 7c 20 66 0a 20 20 20 20 20 4e anguage.........::=.c.|.f......N
42c0 62 5f 73 74 61 74 65 6d 65 6e 74 73 20 20 20 20 3a 3a 3d 20 5f 49 6e 74 65 67 65 72 0a 20 20 20 b_statements....::=._Integer....
42e0 20 20 4e 62 5f 64 6f 6d 61 69 6e 73 20 20 20 20 20 20 20 3a 3a 3d 20 5f 49 6e 74 65 67 65 72 0a ..Nb_domains.......::=._Integer.
4300 20 20 20 20 20 4e 62 5f 66 75 6e 63 74 69 6f 6e 73 20 20 20 20 20 3a 3a 3d 20 5f 49 6e 74 65 67 .....Nb_functions.....::=._Integ
4320 65 72 0a 0a 20 20 20 2a 20 60 43 6f 6e 74 65 78 74 27 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 er.....*.`Context'.represents.th
4340 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 20 20 20 20 20 20 20 73 e.informations.that.are........s
4360 68 61 72 65 64 20 62 79 0a 20 20 20 20 20 61 6c 6c 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 73 hared.by......all.the.statements
4380 2e 20 49 74 20 63 6f 6e 73 69 73 74 73 20 6f 6e 20 20 20 20 20 20 20 20 74 68 65 20 6c 61 6e 67 ..It.consists.on........the.lang
43a0 75 61 67 65 20 75 73 65 64 20 28 77 68 69 63 68 0a 20 20 20 20 20 63 61 6e 20 62 65 20 60 63 27 uage.used.(which......can.be.`c'
43c0 20 66 6f 72 20 43 20 6f 72 20 60 66 27 20 66 6f 72 20 46 4f 52 54 52 41 4e 20 39 30 29 20 20 20 .for.C.or.`f'.for.FORTRAN.90)...
43e0 20 20 20 20 20 61 6e 64 20 74 68 65 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 63 6f 6e 73 74 72 61 .....and.the.global......constra
4400 69 6e 74 73 20 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 2e 20 20 20 20 20 20 20 20 20 54 68 65 73 ints.on.parameters..........Thes
4420 65 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 65 73 73 65 6e 74 69 61 6c 0a 20 20 20 20 e.constraints.are.essential.....
4440 20 20 20 20 20 20 20 73 69 6e 63 65 20 74 68 65 79 20 67 69 76 65 20 74 6f 20 43 4c 6f 6f 47 20 .......since.they.give.to.CLooG.
4460 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 2e 20 49 66 20 74 68 65 the.number.of.parameters..If.the
4480 72 65 0a 20 20 20 20 20 69 73 20 6e 6f 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 20 6f re......is.no........parameter.o
44a0 72 20 6e 6f 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 2c 20 r.no.constraints.on.parameters,.
44c0 6a 75 73 74 20 67 69 76 65 0a 20 20 20 20 20 61 20 63 6f 6e 73 74 72 61 69 6e 74 20 20 20 20 20 just.give......a.constraint.....
44e0 20 20 20 61 6c 77 61 79 73 20 73 61 74 69 73 66 69 65 64 20 6c 69 6b 65 20 31 20 5c 67 65 71 20 ...always.satisfied.like.1.\geq.
4500 30 2e 20 60 4e 61 6d 69 6e 67 27 20 73 65 74 73 0a 20 20 20 20 20 74 68 65 20 70 61 72 61 6d 65 0..`Naming'.sets......the.parame
4520 74 65 72 20 20 20 20 20 20 20 20 6e 61 6d 65 73 2e 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 ter........names..........If.the
4540 20 6e 61 6d 69 6e 67 20 6f 70 74 69 6f 6e 20 60 4f 70 74 69 6f 6e 27 0a 20 20 20 20 20 69 73 20 .naming.option.`Option'......is.
4560 31 2c 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 20 77 69 6c 6c 20 62 65 20 72 65 61 64 20 1,.parameter.names.will.be.read.
4580 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 2e 20 54 68 65 72 65 0a 20 .......on.the.next.line..There..
45a0 20 20 20 20 6d 75 73 74 20 62 65 20 65 78 61 63 74 6c 79 20 61 73 20 6d 61 6e 79 20 6e 61 6d 65 ....must.be.exactly.as.many.name
45c0 73 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 2e 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 s.as.parameters..........If.the.
45e0 6e 61 6d 69 6e 67 0a 20 20 20 20 20 6f 70 74 69 6f 6e 20 60 4f 70 74 69 6f 6e 27 20 69 73 20 30 naming......option.`Option'.is.0
4600 2c 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 20 61 72 65 20 20 20 20 20 20 20 20 61 75 74 ,.parameter.names.are........aut
4620 6f 6d 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 67 65 6e 65 72 61 74 65 64 2e 20 54 68 65 20 6e omatically......generated..The.n
4640 61 6d 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 20 77 69 6c 6c 20 ame.of.the.first.parameter.will.
4660 20 20 20 20 20 20 20 62 65 20 60 4d 27 2c 20 61 6e 64 0a 20 20 20 20 20 74 68 65 20 6e 61 6d 65 .......be.`M',.and......the.name
4680 20 6f 66 20 74 68 65 20 28 6e 2b 31 29 5e 74 68 20 70 61 72 61 6d 65 74 65 72 20 64 69 72 65 63 .of.the.(n+1)^th.parameter.direc
46a0 74 6c 79 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 73 20 74 68 65 0a 20 20 20 20 20 6e 61 6d 65 tly........follows.the......name
46c0 20 6f 66 20 74 68 65 20 6e 5e 74 68 20 70 61 72 61 6d 65 74 65 72 20 69 6e 20 41 53 43 49 49 20 .of.the.n^th.parameter.in.ASCII.
46e0 63 6f 64 65 2e 20 20 20 20 20 20 20 20 20 49 74 20 69 73 20 74 68 65 20 75 73 65 72 0a 20 20 20 code..........It.is.the.user....
4700 20 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 ..responsibility.to.ensure.that.
4720 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 2c 20 20 20 20 20 20 20 20 69 74 65 72 61 74 6f 72 parameter.names,........iterator
4740 73 0a 20 20 20 20 20 61 6e 64 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 s......and.scattering.dimension.
4760 6e 61 6d 65 73 20 61 72 65 20 64 69 66 66 65 72 65 6e 74 2e 0a 0a 20 20 20 2a 20 60 53 74 61 74 names.are.different......*.`Stat
4780 65 6d 65 6e 74 73 27 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 ements'.represents.the.informati
47a0 6f 6e 73 20 6f 6e 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 60 4e 62 5f ons.on.the.statements.......`Nb_
47c0 73 74 61 74 65 6d 65 6e 74 73 27 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 61 statements'.is.the.number.of.sta
47e0 74 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 0a 20 20 20 20 20 69 2e 65 tements.in.the.program,......i.e
4800 2e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 60 53 74 61 74 65 6d 65 6e 74 27 20 69 74 65 6d ..the.number.of.`Statement'.item
4820 73 20 69 6e 20 74 68 65 20 60 53 74 61 74 65 6d 65 6e 74 5f 6c 69 73 74 27 2e 0a 20 20 20 20 20 s.in.the.`Statement_list'.......
4840 20 20 60 53 74 61 74 65 6d 65 6e 74 27 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 69 6e 66 ..`Statement'.represents.the.inf
4860 6f 72 6d 61 74 69 6f 6e 73 20 6f 6e 20 61 20 67 69 76 65 6e 20 73 74 61 74 65 6d 65 6e 74 2e 0a ormations.on.a.given.statement..
4880 20 20 20 20 20 20 20 20 20 54 6f 20 65 61 63 68 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 61 73 .........To.each.statement.is.as
48a0 73 6f 63 69 61 74 65 64 20 61 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 28 74 68 65 20 73 74 sociated.a.domain........(the.st
48c0 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 69 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 6e 3a 20 60 atement......iteration.domain:.`
48e0 49 74 65 72 61 74 69 6f 6e 5f 64 6f 6d 61 69 6e 27 29 20 61 6e 64 20 74 68 72 65 65 20 20 20 20 Iteration_domain').and.three....
4900 20 20 20 20 7a 65 72 6f 65 73 20 74 68 61 74 0a 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 73 20 ....zeroes.that......represents.
4920 66 75 74 75 72 65 20 6f 70 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 60 4e 61 6d 69 6e 67 27 future.options..........`Naming'
4940 20 73 65 74 73 20 74 68 65 20 69 74 65 72 61 74 6f 72 0a 20 20 20 20 20 6e 61 6d 65 73 2e 20 49 .sets.the.iterator......names..I
4960 66 20 74 68 65 20 6e 61 6d 69 6e 67 20 6f 70 74 69 6f 6e 20 20 20 20 20 20 20 20 60 4f 70 74 69 f.the.naming.option........`Opti
4980 6f 6e 27 20 69 73 20 31 2c 20 74 68 65 20 69 74 65 72 61 74 6f 72 0a 20 20 20 20 20 6e 61 6d 65 on'.is.1,.the.iterator......name
49a0 73 20 20 20 20 20 20 20 20 77 69 6c 6c 20 62 65 20 72 65 61 64 20 6f 6e 20 74 68 65 20 6e 65 78 s........will.be.read.on.the.nex
49c0 74 20 6c 69 6e 65 2e 20 54 68 65 72 65 20 6d 75 73 74 20 62 65 20 65 78 61 63 74 6c 79 0a 20 20 t.line..There.must.be.exactly...
49e0 20 20 20 61 73 20 6d 61 6e 79 20 6e 61 6d 65 73 20 61 73 20 20 20 20 20 20 20 20 6e 65 73 74 69 ...as.many.names.as........nesti
4a00 6e 67 20 6c 65 76 65 6c 20 69 6e 20 74 68 65 20 64 65 65 70 65 73 74 20 69 74 65 72 61 74 69 6f ng.level.in.the.deepest.iteratio
4a20 6e 0a 20 20 20 20 20 64 6f 6d 61 69 6e 2e 20 49 66 20 74 68 65 20 6e 61 6d 69 6e 67 20 6f 70 74 n......domain..If.the.naming.opt
4a40 69 6f 6e 20 20 20 20 20 20 20 20 60 4f 70 74 69 6f 6e 27 20 69 73 20 30 2c 20 69 74 65 72 61 74 ion........`Option'.is.0,.iterat
4a60 6f 72 20 6e 61 6d 65 73 0a 20 20 20 20 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 or.names......are.automatically.
4a80 67 65 6e 65 72 61 74 65 64 2e 20 20 20 20 20 20 20 20 20 54 68 65 20 69 74 65 72 61 74 6f 72 20 generated..........The.iterator.
4aa0 6e 61 6d 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6f 75 74 65 72 6d 6f 73 74 20 6c 6f 6f 70 20 name.of.the......outermost.loop.
4ac0 77 69 6c 6c 20 62 65 20 60 69 27 2c 20 61 6e 64 20 74 68 65 20 20 20 20 20 20 20 20 69 74 65 72 will.be.`i',.and.the........iter
4ae0 61 74 6f 72 20 6e 61 6d 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6c 6f 6f 70 20 61 74 20 6c 65 ator.name.of.the......loop.at.le
4b00 76 65 6c 20 6e 2b 31 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 20 20 20 vel.n+1.directly.follows.the....
4b20 20 20 20 20 69 74 65 72 61 74 6f 72 20 6e 61 6d 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6c 6f ....iterator.name.of.the......lo
4b40 6f 70 20 61 74 20 6c 65 76 65 6c 20 6e 20 69 6e 20 41 53 43 49 49 20 63 6f 64 65 2e 0a 0a 20 20 op.at.level.n.in.ASCII.code.....
4b60 20 2a 20 60 53 63 61 74 74 65 72 69 6e 67 27 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 69 .*.`Scattering'.represents.the.i
4b80 6e 66 6f 72 6d 61 74 69 6f 6e 73 20 6f 6e 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 nformations.on.scattering.functi
4ba0 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 60 4e 62 5f 66 75 6e 63 74 69 6f 6e 73 27 20 69 ons.............`Nb_functions'.i
4bc0 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 28 69 74 20 6d 75 s.the.number.of.functions.(it.mu
4be0 73 74 20 62 65 0a 20 20 20 20 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f st.be......equal.to.the.number.o
4c00 66 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 72 20 30 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f f.statements.or.0.if.there.is.no
4c20 20 73 63 61 74 74 65 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 29 2e 20 .scattering..........function)..
4c40 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 65 6d 73 65 6c 76 65 73 20 61 72 65 20 72 65 70 72 The.function.themselves.are.repr
4c60 65 73 65 6e 74 65 64 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 60 44 6f 6d 61 69 6e 5f 6c esented.through........`Domain_l
4c80 69 73 74 27 2e 20 20 20 20 20 20 20 20 20 60 4e 61 6d 69 6e 67 27 20 73 65 74 73 20 74 68 65 20 ist'..........`Naming'.sets.the.
4ca0 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 0a 20 20 20 20 20 6e 61 6d 65 73 2e scattering.dimension......names.
4cc0 20 49 66 20 74 68 65 20 6e 61 6d 69 6e 67 20 6f 70 74 69 6f 6e 20 20 20 20 20 20 20 20 60 4f 70 .If.the.naming.option........`Op
4ce0 74 69 6f 6e 27 20 69 73 20 31 2c 20 74 68 65 20 73 63 61 74 74 65 72 69 6e 67 0a 20 20 20 20 20 tion'.is.1,.the.scattering......
4d00 64 69 6d 65 6e 73 69 6f 6e 20 6e 61 6d 65 73 20 77 69 6c 6c 20 62 65 20 72 65 61 64 20 6f 6e 20 dimension.names.will.be.read.on.
4d20 74 68 65 20 20 20 20 20 20 20 20 6e 65 78 74 20 6c 69 6e 65 2e 0a 20 20 20 20 20 54 68 65 72 65 the........next.line.......There
4d40 20 6d 75 73 74 20 62 65 20 65 78 61 63 74 6c 79 20 61 73 20 6d 61 6e 79 20 6e 61 6d 65 73 20 61 .must.be.exactly.as.many.names.a
4d60 73 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 73 2e 20 49 66 0a 20 20 20 20 s.scattering.dimensions..If.....
4d80 20 74 68 65 20 20 20 20 20 20 20 20 6e 61 6d 69 6e 67 20 6f 70 74 69 6f 6e 20 60 4f 70 74 69 6f .the........naming.option.`Optio
4da0 6e 27 20 69 73 20 30 2c 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 61 n'.is.0,.scattering.dimension.na
4dc0 6d 65 73 0a 20 20 20 20 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 20 20 20 20 20 mes......are.automatically......
4de0 20 20 67 65 6e 65 72 61 74 65 64 2e 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 5e 74 ..generated..The.name.of.the.n^t
4e00 68 0a 20 20 20 20 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 74 69 6f 6e 20 20 20 20 20 h......scattering.dimention.....
4e20 20 20 20 77 69 6c 6c 20 62 65 20 60 63 6e 27 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 44 6f 6d ...will.be.`cn'...*.Menu:..*.Dom
4e40 61 69 6e 20 52 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 3a 3a 0a 2a 20 53 63 61 74 74 65 72 69 6e ain.Representation::.*.Scatterin
4e60 67 20 52 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f g.Representation::....File:.cloo
4e80 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 44 6f 6d 61 69 6e 20 52 65 70 72 65 73 65 6e 74 61 g.info,..Node:.Domain.Representa
4ea0 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 53 63 61 74 74 65 72 69 6e 67 20 52 65 70 72 65 73 65 6e tion,..Next:.Scattering.Represen
4ec0 74 61 74 69 6f 6e 2c 20 20 55 70 3a 20 57 72 69 74 69 6e 67 20 54 68 65 20 49 6e 70 75 74 20 46 tation,..Up:.Writing.The.Input.F
4ee0 69 6c 65 0a 0a 32 2e 32 2e 31 20 44 6f 6d 61 69 6e 20 52 65 70 72 65 73 65 6e 74 61 74 69 6f 6e ile..2.2.1.Domain.Representation
4f00 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 41 73 .---------------------------..As
4f20 20 73 68 6f 77 6e 20 62 79 20 74 68 65 20 67 72 61 6d 6d 61 72 2c 20 74 68 65 20 69 6e 70 75 74 .shown.by.the.grammar,.the.input
4f40 20 66 69 6c 65 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 76 61 72 69 6f 75 73 0a 69 6e 66 6f .file.describes.the.various.info
4f60 72 6d 61 74 69 6f 6e 73 20 74 68 61 6e 6b 73 20 74 6f 20 63 68 61 72 61 63 74 65 72 73 2c 20 69 rmations.thanks.to.characters,.i
4f80 6e 74 65 67 65 72 73 20 61 6e 64 20 64 6f 6d 61 69 6e 73 2e 20 45 61 63 68 20 64 6f 6d 61 69 6e ntegers.and.domains..Each.domain
4fa0 20 69 73 0a 64 65 66 69 6e 65 64 20 62 79 20 61 20 73 65 74 20 6f 66 20 63 6f 6e 73 74 72 61 69 .is.defined.by.a.set.of.constrai
4fc0 6e 74 73 20 69 6e 20 74 68 65 20 50 6f 6c 79 4c 69 62 20 66 6f 72 6d 61 74 20 28 2a 6e 6f 74 65 nts.in.the.PolyLib.format.(*note
4fe0 20 57 69 6c 39 33 3a 3a 29 2e 0a 54 68 65 79 20 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 .Wil93::)..They.have.the.followi
5000 6e 67 20 73 79 6e 74 61 78 3a 0a 20 20 31 2e 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 61 6c 20 63 6f ng.syntax:...1..some.optional.co
5020 6d 6d 65 6e 74 20 6c 69 6e 65 73 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 60 23 27 2c 0a mment.lines.beginning.with.`#',.
5040 0a 20 20 32 2e 20 74 68 65 20 72 6f 77 20 61 6e 64 20 63 6f 6c 75 6d 6e 20 6e 75 6d 62 65 72 73 ...2..the.row.and.column.numbers
5060 2c 20 70 6f 73 73 69 62 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 63 6f 6d 6d 65 6e 74 73 2c ,.possibly.followed.by.comments,
5080 0a 0a 20 20 33 2e 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 72 6f 77 73 2c 20 65 61 63 68 ....3..the.constraint.rows,.each
50a0 20 72 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 63 6f 6e 73 74 72 61 69 6e 74 .row.corresponds.to.a.constraint
50c0 20 74 68 65 0a 20 20 20 20 20 64 6f 6d 61 69 6e 20 68 61 76 65 20 74 6f 20 73 61 74 69 73 66 79 .the......domain.have.to.satisfy
50e0 2e 20 45 61 63 68 20 72 6f 77 20 6d 75 73 74 20 62 65 20 6f 6e 20 61 20 73 69 6e 67 6c 65 20 6c ..Each.row.must.be.on.a.single.l
5100 69 6e 65 20 61 6e 64 20 69 73 0a 20 20 20 20 20 70 6f 73 73 69 62 6c 79 20 20 20 20 20 20 20 66 ine.and.is......possibly.......f
5120 6f 6c 6c 6f 77 65 64 20 62 79 20 63 6f 6d 6d 65 6e 74 73 2e 20 54 68 65 20 63 6f 6e 73 74 72 61 ollowed.by.comments..The.constra
5140 69 6e 74 20 69 73 20 61 6e 20 65 71 75 61 6c 69 74 79 0a 20 20 20 20 20 70 28 78 29 20 3d 20 30 int.is.an.equality......p(x).=.0
5160 20 69 66 20 74 68 65 20 20 20 20 20 20 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 30 .if.the.......first.element.is.0
5180 2c 20 61 6e 20 69 6e 65 71 75 61 6c 69 74 79 20 20 70 28 78 29 20 5c 67 65 71 0a 20 20 20 20 20 ,.an.inequality..p(x).\geq......
51a0 30 20 69 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 20 20 20 20 20 20 69 73 20 0.if.the.first.element.......is.
51c0 31 2e 20 54 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 68 65 0a 20 20 20 1..The.next.elements.are.the....
51e0 20 20 75 6e 6b 6e 6f 77 6e 20 63 6f 65 66 66 69 63 69 65 6e 74 73 2c 20 66 6f 6c 6c 6f 77 65 64 ..unknown.coefficients,.followed
5200 20 62 79 20 20 20 20 20 20 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 63 6f 65 .by.......the.parameter......coe
5220 66 66 69 63 69 65 6e 74 73 2e 20 54 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 fficients..The.last.element.is.t
5240 68 65 20 63 6f 6e 73 74 61 6e 74 20 66 61 63 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 46 6f 72 20 he.constant.factor..........For.
5260 69 6e 73 74 61 6e 63 65 2c 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 20 60 69 27 2c 20 60 6a 27 instance,.assuming.that.`i',.`j'
5280 20 61 6e 64 20 60 6b 27 20 61 72 65 20 69 74 65 72 61 74 6f 72 73 20 61 6e 64 0a 60 6d 27 20 61 .and.`k'.are.iterators.and.`m'.a
52a0 6e 64 20 60 6e 27 20 61 72 65 20 70 61 72 61 6d 65 74 65 72 73 2c 20 74 68 65 20 64 6f 6d 61 69 nd.`n'.are.parameters,.the.domai
52c0 6e 20 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 63 6f 6e 73 74 n.defined.by.the.following.const
52e0 72 61 69 6e 74 73 20 3a 0a 0a 20 20 20 20 20 20 20 20 2d 69 20 2b 20 6d 20 3e 3d 20 30 0a 20 20 raints.:..........-i.+.m.>=.0...
5300 20 20 20 20 20 20 2d 6a 20 2b 20 6e 20 3e 3d 20 30 0a 20 20 20 20 20 69 20 2b 20 6a 20 2d 20 6b ......-j.+.n.>=.0......i.+.j.-.k
5320 20 3e 3d 20 30 0a 0a 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 69 6e 70 .>=.0..can.be.written.in.the.inp
5340 75 74 20 66 69 6c 65 20 61 73 20 66 6f 6c 6c 6f 77 73 20 3a 0a 0a 20 20 20 20 20 23 20 54 68 69 ut.file.as.follows.:.......#.Thi
5360 73 20 69 73 20 74 68 65 20 64 6f 6d 61 69 6e 0a 20 20 20 20 20 33 20 37 20 20 20 20 20 20 20 20 s.is.the.domain......3.7........
5380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 33 20 6c 69 6e 65 73 20 61 6e 64 20 37 20 63 6f ..............#.3.lines.and.7.co
53a0 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 71 2f 69 6e 20 69 20 20 6a 20 20 6b 20 20 6d 20 20 6e lumns......#.eq/in.i..j..k..m..n
53c0 20 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 30 20 20 30 20 20 31 20 20 30 20 20 ..1..........1..-1..0..0..1..0..
53e0 30 20 23 20 20 20 20 2d 69 20 2b 20 6d 20 3e 3d 20 30 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 0.#....-i.+.m.>=.0..........1...
5400 30 20 2d 31 20 20 30 20 20 30 20 20 31 20 20 30 20 23 20 20 20 20 2d 6a 20 2b 20 6e 20 3e 3d 20 0.-1..0..0..1..0.#....-j.+.n.>=.
5420 30 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 31 20 20 31 20 2d 31 20 20 30 20 20 30 20 20 30 20 0..........1...1..1.-1..0..0..0.
5440 23 20 69 20 2b 20 6a 20 2d 20 6b 20 3e 3d 20 30 0a 0a 20 20 20 45 61 63 68 20 69 74 65 72 61 74 #.i.+.j.-.k.>=.0.....Each.iterat
5460 69 6f 6e 20 64 6f 6d 61 69 6e 20 60 49 74 65 72 61 74 69 6f 6e 5f 64 6f 6d 61 69 6e 27 20 6f 66 ion.domain.`Iteration_domain'.of
5480 20 61 20 67 69 76 65 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 61 0a 75 6e 69 6f 6e 20 6f 66 .a.given.statement.is.a.union.of
54a0 20 70 6f 6c 79 68 65 64 72 61 20 60 44 6f 6d 61 69 6e 5f 75 6e 69 6f 6e 27 2e 20 41 20 75 6e 69 .polyhedra.`Domain_union'..A.uni
54c0 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 62 79 20 69 74 73 20 6e 75 6d 62 65 72 20 6f 66 0a 65 on.is.defined.by.its.number.of.e
54e0 6c 65 6d 65 6e 74 73 20 60 4e 62 5f 64 6f 6d 61 69 6e 73 27 20 61 6e 64 20 74 68 65 20 65 6c 65 lements.`Nb_domains'.and.the.ele
5500 6d 65 6e 74 73 20 74 68 65 6d 73 65 6c 76 65 73 20 60 44 6f 6d 61 69 6e 5f 6c 69 73 74 27 2e 20 ments.themselves.`Domain_list'..
5520 20 46 6f 72 0a 69 6e 73 74 61 6e 63 65 2c 20 6c 65 74 20 75 73 20 63 6f 6e 73 69 64 65 72 20 74 .For.instance,.let.us.consider.t
5540 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 73 65 75 64 6f 2d 63 6f 64 65 3a 0a 0a 20 20 20 20 20 he.following.pseudo-code:.......
5560 66 6f 72 20 28 69 3d 31 3b 69 3c 3d 6e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 69 66 20 28 for.(i=1;i<=n;i++).{........if.(
5580 28 69 20 3e 3d 20 6d 29 20 7c 7c 20 28 69 20 3c 3d 20 32 2a 6d 29 29 0a 20 20 20 20 20 20 20 20 (i.>=.m).||.(i.<=.2*m)).........
55a0 20 53 31 20 3b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 69 2b 31 3b 6a 3c 3d 6d 3b 6a 2b 2b .S1.;........for.(j=i+1;j<=m;j++
55c0 29 0a 20 20 20 20 20 20 20 20 20 53 32 20 3b 0a 20 20 20 20 20 7d 0a 0a 54 68 65 20 69 74 65 72 )..........S2.;......}..The.iter
55e0 61 74 69 6f 6e 20 64 6f 6d 61 69 6e 20 6f 66 20 60 53 31 27 20 63 61 6e 20 62 65 20 64 69 76 69 ation.domain.of.`S1'.can.be.divi
5600 64 65 64 20 69 6e 74 6f 20 74 77 6f 20 70 6f 6c 79 68 65 64 72 61 20 61 6e 64 0a 77 72 69 74 74 ded.into.two.polyhedra.and.writt
5620 65 6e 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 66 69 6c 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a en.in.the.input.file.as.follows:
5640 0a 0a 20 20 20 20 20 32 20 23 20 4e 75 6d 62 65 72 20 6f 66 20 70 6f 6c 79 68 65 64 72 61 20 69 .......2.#.Number.of.polyhedra.i
5660 6e 20 74 68 65 20 75 6e 69 6f 6e 0a 20 20 20 20 20 23 20 46 69 72 73 74 20 64 6f 6d 61 69 6e 0a n.the.union......#.First.domain.
5680 20 20 20 20 20 33 20 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 33 20 6c 69 6e 65 .....3.5................#.3.line
56a0 73 20 61 6e 64 20 35 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 71 2f 69 6e 20 69 20 20 s.and.5.columns......#.eq/in.i..
56c0 6d 20 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 31 20 20 30 20 20 30 20 2d 31 20 m..n..1..........1...1..0..0.-1.
56e0 23 20 20 69 20 3e 3d 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 30 20 20 31 20 20 #..i.>=.1..........1..-1..0..1..
5700 30 20 23 20 20 69 20 3c 3d 20 6e 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 31 20 2d 31 20 20 30 0.#..i.<=.n..........1...1.-1..0
5720 20 20 30 20 23 20 20 69 20 3e 3d 20 6d 0a 20 20 20 20 20 23 20 53 65 63 6f 6e 64 20 64 6f 6d 61 ..0.#..i.>=.m......#.Second.doma
5740 69 6e 0a 20 20 20 20 20 33 20 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 33 20 6c in......3.5................#.3.l
5760 69 6e 65 73 20 61 6e 64 20 35 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 71 2f 69 6e 20 ines.and.5.columns......#.eq/in.
5780 69 20 20 6d 20 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 31 20 20 30 20 20 30 20 i..m..n..1..........1...1..0..0.
57a0 2d 31 20 23 20 20 69 20 3e 3d 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 30 20 20 -1.#..i.>=.1..........1..-1..0..
57c0 31 20 20 30 20 23 20 20 69 20 3c 3d 20 6e 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 32 1..0.#..i.<=.n..........1..-1..2
57e0 20 20 30 20 20 30 20 23 20 20 69 20 3c 3d 20 32 2a 6d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f ..0..0.#..i.<=.2*m....File:.cloo
5800 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 63 61 74 74 65 72 69 6e 67 20 52 65 70 72 65 73 g.info,..Node:.Scattering.Repres
5820 65 6e 74 61 74 69 6f 6e 2c 20 20 50 72 65 76 3a 20 44 6f 6d 61 69 6e 20 52 65 70 72 65 73 65 6e entation,..Prev:.Domain.Represen
5840 74 61 74 69 6f 6e 2c 20 20 55 70 3a 20 57 72 69 74 69 6e 67 20 54 68 65 20 49 6e 70 75 74 20 46 tation,..Up:.Writing.The.Input.F
5860 69 6c 65 0a 0a 32 2e 32 2e 32 20 53 63 61 74 74 65 72 69 6e 67 20 46 75 6e 63 74 69 6f 6e 20 52 ile..2.2.2.Scattering.Function.R
5880 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d epresentation.------------------
58a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 53 63 61 74 74 65 72 69 ----------------------..Scatteri
58c0 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 70 69 63 74 65 64 20 69 6e 20 74 68 65 ng.functions.are.depicted.in.the
58e0 20 69 6e 70 75 74 20 66 69 6c 65 20 74 68 61 6e 6b 73 20 61 0a 72 65 70 72 65 73 65 6e 74 61 74 .input.file.thanks.a.representat
5900 69 6f 6e 20 76 65 72 79 20 63 6c 6f 73 65 20 74 6f 20 74 68 65 20 64 6f 6d 61 69 6e 20 6f 6e 65 ion.very.close.to.the.domain.one
5920 2e 20 20 41 6e 20 69 6e 74 65 67 65 72 20 67 69 76 65 73 20 74 68 65 0a 6e 75 6d 62 65 72 20 6f ...An.integer.gives.the.number.o
5940 66 20 66 75 6e 63 74 69 6f 6e 73 20 60 4e 62 5f 66 75 6e 63 74 69 6f 6e 73 27 20 61 6e 64 20 65 f.functions.`Nb_functions'.and.e
5960 61 63 68 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 0a 61 ach.function.is.represented.by.a
5980 20 64 6f 6d 61 69 6e 2e 20 45 61 63 68 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 64 6f 6d 61 69 6e .domain..Each.line.of.the.domain
59a0 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 6e 20 65 71 75 61 6c 69 74 79 20 64 65 66 69 .corresponds.to.an.equality.defi
59c0 6e 69 6e 67 20 61 0a 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e ning.a.dimension.of.the.function
59e0 2e 20 4e 6f 74 65 20 74 68 61 74 20 61 74 20 70 72 65 73 65 6e 74 20 28 43 4c 6f 6f 47 20 29 20 ..Note.that.at.present.(CLooG.).
5a00 2a 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 0a 6d 75 73 74 20 68 61 76 65 20 74 68 65 20 73 61 6d *all.functions.must.have.the.sam
5a20 65 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 75 6d 62 65 72 2a 2e 20 e.scattering.dimension.number*..
5a40 49 66 20 61 20 75 73 65 72 20 77 61 6e 74 73 20 74 6f 20 73 65 74 0a 73 63 61 74 74 65 72 69 6e If.a.user.wants.to.set.scatterin
5a60 67 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 64 69 6d 65 6e g.functions.with.different.dimen
5a80 73 69 6f 6e 61 6c 69 74 79 2c 20 68 65 20 68 61 73 20 74 6f 20 63 6f 6d 70 6c 65 74 65 0a 74 68 sionality,.he.has.to.complete.th
5aa0 65 20 73 6d 61 6c 6c 65 72 20 6f 6e 65 20 77 69 74 68 20 7a 65 72 6f 65 73 20 74 6f 20 72 65 61 e.smaller.one.with.zeroes.to.rea
5ac0 63 68 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 64 69 6d 65 6e 73 69 6f 6e 61 6c 69 74 79 2e 20 20 ch.the.maximum.dimensionality...
5ae0 46 6f 72 0a 69 6e 73 74 61 6e 63 65 2c 20 6c 65 74 20 75 73 20 63 6f 6e 73 69 64 65 72 20 74 68 For.instance,.let.us.consider.th
5b00 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 6e 64 20 73 63 68 65 64 75 6c 69 6e 67 20 e.following.code.and.scheduling.
5b20 66 75 6e 63 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 31 3b 69 3c 3d 6e 3b 69 functions:.......for.(i=1;i<=n;i
5b40 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 69 66 20 28 28 69 20 3e 3d 20 6d 29 20 7c 7c 20 28 69 20 ++).{........if.((i.>=.m).||.(i.
5b60 3c 3d 20 32 2a 6d 29 29 0a 20 20 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 20 20 66 6f <=.2*m))..........S1.;........fo
5b80 72 20 28 6a 3d 69 2b 31 3b 6a 3c 3d 6d 3b 6a 2b 2b 29 0a 20 20 20 20 20 20 20 20 20 53 32 20 3b r.(j=i+1;j<=m;j++)..........S2.;
5ba0 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 54 5f 53 31 28 69 29 20 20 20 20 20 3d 20 28 69 2c 30 ......}.......T_S1(i).....=.(i,0
5bc0 29 5e 54 0a 20 20 20 20 20 54 5f 53 32 28 69 2c 6a 29 5e 54 20 3d 20 28 6e 2c 69 2b 6a 29 5e 54 )^T......T_S2(i,j)^T.=.(n,i+j)^T
5be0 0a 0a 54 68 69 73 20 73 63 68 65 64 75 6c 69 6e 67 20 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e ..This.scheduling.can.be.written
5c00 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 66 69 6c 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a .in.the.input.file.as.follows:..
5c20 20 20 20 20 20 32 20 23 20 4e 75 6d 62 65 72 20 6f 66 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 .....2.#.Number.of.scattering.fu
5c40 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 23 20 46 69 72 73 74 20 66 75 6e 63 74 69 6f 6e 0a 20 20 nctions......#.First.function...
5c60 20 20 20 32 20 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...2.7..........................
5c80 23 20 32 20 6c 69 6e 65 73 20 61 6e 64 20 37 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 #.2.lines.and.7.columns......#.e
5ca0 71 2f 69 6e 20 63 31 20 63 32 20 20 69 20 20 6d 20 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 20 q/in.c1.c2..i..m..n..1..........
5cc0 30 20 20 20 20 31 20 20 30 20 2d 31 20 20 30 20 20 30 20 20 30 20 20 20 20 23 20 20 63 31 20 3d 0....1..0.-1..0..0..0....#..c1.=
5ce0 20 69 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 .i..........0....0..1..0..0..0..
5d00 30 20 20 20 20 23 20 20 63 32 20 3d 20 30 0a 20 20 20 20 20 23 20 53 65 63 6f 6e 64 20 66 75 6e 0....#..c2.=.0......#.Second.fun
5d20 63 74 69 6f 6e 0a 20 20 20 20 20 32 20 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ction......2.8..................
5d40 20 20 20 20 20 20 20 20 23 20 32 20 6c 69 6e 65 73 20 61 6e 64 20 38 20 63 6f 6c 75 6d 6e 73 0a ........#.2.lines.and.8.columns.
5d60 20 20 20 20 20 23 20 65 71 2f 69 6e 20 63 31 20 63 32 20 20 69 20 20 6a 20 20 6d 20 20 6e 20 20 .....#.eq/in.c1.c2..i..j..m..n..
5d80 31 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 2d 31 1..........0....1..0..0..0..0.-1
5da0 20 20 30 20 23 20 20 63 31 20 3d 20 6e 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 31 ..0.#..c1.=.n..........0....0..1
5dc0 20 2d 31 20 2d 31 20 20 30 20 20 30 20 20 30 20 23 20 20 63 32 20 3d 20 69 2b 6a 0a 54 68 65 20 .-1.-1..0..0..0.#..c2.=.i+j.The.
5de0 63 6f 6d 70 6c 65 74 65 20 69 6e 70 75 74 20 66 69 6c 65 20 66 6f 72 20 74 68 65 20 75 73 65 72 complete.input.file.for.the.user
5e00 20 77 68 6f 20 77 61 6e 74 73 20 74 6f 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 63 6f 64 65 20 .who.wants.to.generate.the.code.
5e20 66 6f 72 0a 74 68 69 73 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 74 68 65 20 70 72 65 63 65 64 for.this.example.with.the.preced
5e40 69 6e 67 20 73 63 68 65 64 75 6c 69 6e 67 20 77 6f 75 6c 64 20 62 65 20 28 74 68 69 73 20 66 69 ing.scheduling.would.be.(this.fi
5e60 6c 65 20 69 73 0a 70 72 6f 76 69 64 65 64 20 69 6e 20 74 68 65 20 43 4c 6f 6f 47 20 64 69 73 74 le.is.provided.in.the.CLooG.dist
5e80 72 69 62 75 74 69 6f 6e 20 61 73 20 60 74 65 73 74 2f 6d 61 6e 75 61 6c 5f 73 63 61 74 74 65 72 ribution.as.`test/manual_scatter
5ea0 69 6e 67 2e 63 6c 6f 6f 67 27 3a 0a 0a 20 20 20 20 20 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ing.cloog':.......#.------------
5ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 43 4f 4e 54 45 58 54 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------.CONTEXT.-------------
5ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 20 63 20 23 20 6c 61 6e 67 75 61 67 65 20 69 73 20 43 ---------......c.#.language.is.C
5f00 0a 0a 20 20 20 20 20 23 20 43 6f 6e 74 65 78 74 20 28 6e 6f 20 63 6f 6e 73 74 72 61 69 6e 74 73 .......#.Context.(no.constraints
5f20 20 6f 6e 20 74 77 6f 20 70 61 72 61 6d 65 74 65 72 73 29 0a 20 20 20 20 20 31 20 34 20 20 20 20 .on.two.parameters)......1.4....
5f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 31 20 6c 69 6e 65 73 20 61 6e 64 20 34 20 63 ...............#.1.lines.and.4.c
5f60 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 71 2f 69 6e 20 6d 20 20 6e 20 20 31 0a 20 20 20 20 olumns......#.eq/in.m..n..1.....
5f80 20 20 20 20 20 31 20 20 20 30 20 20 30 20 20 30 20 20 20 20 20 20 20 23 20 30 20 3e 3d 20 30 2c .....1...0..0..0.......#.0.>=.0,
5fa0 20 61 6c 77 61 79 73 20 74 72 75 65 0a 0a 20 20 20 20 20 31 20 23 20 57 65 20 77 61 6e 74 20 74 .always.true.......1.#.We.want.t
5fc0 6f 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d o.set.manually.the.parameter.nam
5fe0 65 73 0a 20 20 20 20 20 6d 20 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 es......m.n...................#.
6000 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 0a 0a 20 20 20 20 20 23 20 2d 2d 2d 2d 2d 2d 2d 2d parameter.names.......#.--------
6020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 53 54 41 54 45 4d 45 4e 54 53 20 2d 2d 2d 2d 2d 2d 2d -------------.STATEMENTS.-------
6040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 20 32 20 23 20 4e 75 6d 62 65 72 20 6f 66 -------------......2.#.Number.of
6060 20 73 74 61 74 65 6d 65 6e 74 73 0a 0a 20 20 20 20 20 32 20 23 20 46 69 72 73 74 20 73 74 61 74 .statements.......2.#.First.stat
6080 65 6d 65 6e 74 3a 20 74 77 6f 20 64 6f 6d 61 69 6e 73 0a 20 20 20 20 20 23 20 46 69 72 73 74 20 ement:.two.domains......#.First.
60a0 64 6f 6d 61 69 6e 0a 20 20 20 20 20 33 20 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 domain......3.5.................
60c0 20 20 23 20 33 20 6c 69 6e 65 73 20 61 6e 64 20 35 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 ..#.3.lines.and.5.columns......#
60e0 20 65 71 2f 69 6e 20 69 20 20 6d 20 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 31 .eq/in.i..m..n..1..........1...1
6100 20 20 30 20 20 30 20 2d 31 20 20 20 20 23 20 69 20 3e 3d 20 31 0a 20 20 20 20 20 20 20 20 20 31 ..0..0.-1....#.i.>=.1..........1
6120 20 20 2d 31 20 20 30 20 20 31 20 20 30 20 20 20 20 23 20 69 20 3c 3d 20 6e 0a 20 20 20 20 20 20 ..-1..0..1..0....#.i.<=.n.......
6140 20 20 20 31 20 20 20 31 20 2d 31 20 20 30 20 20 30 20 20 20 20 23 20 69 20 3e 3d 20 6d 0a 20 20 ...1...1.-1..0..0....#.i.>=.m...
6160 20 20 20 23 20 53 65 63 6f 6e 64 20 64 6f 6d 61 69 6e 0a 20 20 20 20 20 33 20 35 20 20 20 20 20 ...#.Second.domain......3.5.....
6180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 33 20 6c 69 6e 65 73 20 61 6e 64 20 35 20 63 6f ..............#.3.lines.and.5.co
61a0 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 71 2f 69 6e 20 69 20 20 6d 20 20 6e 20 20 31 0a 20 20 lumns......#.eq/in.i..m..n..1...
61c0 20 20 20 20 20 20 20 31 20 20 20 31 20 20 30 20 20 30 20 2d 31 20 20 20 20 23 20 69 20 3e 3d 20 .......1...1..0..0.-1....#.i.>=.
61e0 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 30 20 20 31 20 20 30 20 20 20 20 23 20 69 1..........1..-1..0..1..0....#.i
6200 20 3c 3d 20 6e 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 32 20 20 30 20 20 30 20 20 20 .<=.n..........1..-1..2..0..0...
6220 20 23 20 69 20 3c 3d 20 32 2a 6d 0a 20 20 20 20 20 30 20 20 30 20 20 30 20 20 20 20 20 20 20 20 .#.i.<=.2*m......0..0..0........
6240 20 20 20 20 20 20 20 23 20 66 6f 72 20 66 75 74 75 72 65 20 6f 70 74 69 6f 6e 73 0a 0a 20 20 20 .......#.for.future.options.....
6260 20 20 31 20 23 20 53 65 63 6f 6e 64 20 73 74 61 74 65 6d 65 6e 74 3a 20 6f 6e 65 20 64 6f 6d 61 ..1.#.Second.statement:.one.doma
6280 69 6e 0a 20 20 20 20 20 34 20 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 in......4.6...................#.
62a0 34 20 6c 69 6e 65 73 20 61 6e 64 20 36 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 71 2f 4.lines.and.6.columns......#.eq/
62c0 69 6e 20 69 20 20 6a 20 20 6d 20 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 31 20 in.i..j..m..n..1..........1...1.
62e0 20 30 20 20 30 20 20 30 20 2d 31 20 23 20 69 20 3e 3d 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 .0..0..0.-1.#.i.>=.1..........1.
6300 20 2d 31 20 20 30 20 20 30 20 20 31 20 20 30 20 23 20 69 20 3c 3d 20 6e 0a 20 20 20 20 20 20 20 .-1..0..0..1..0.#.i.<=.n........
6320 20 20 31 20 20 2d 31 20 20 31 20 20 30 20 20 30 20 2d 31 20 23 20 6a 20 3e 3d 20 69 2b 31 0a 20 ..1..-1..1..0..0.-1.#.j.>=.i+1..
6340 20 20 20 20 20 20 20 20 31 20 20 20 30 20 2d 31 20 20 31 20 20 30 20 20 30 20 23 20 6a 20 3c 3d ........1...0.-1..1..0..0.#.j.<=
6360 20 6d 0a 20 20 20 20 20 30 20 20 30 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 .m......0..0..0...............#.
6380 66 6f 72 20 66 75 74 75 72 65 20 6f 70 74 69 6f 6e 73 0a 0a 20 20 20 20 20 31 20 23 20 57 65 20 for.future.options.......1.#.We.
63a0 77 61 6e 74 20 74 6f 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 20 74 68 65 20 69 74 65 72 61 74 6f want.to.set.manually.the.iterato
63c0 72 20 6e 61 6d 65 73 0a 20 20 20 20 20 69 20 6a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.names......i.j................
63e0 20 20 20 23 20 69 74 65 72 61 74 6f 72 20 6e 61 6d 65 73 0a 0a 20 20 20 20 20 23 20 2d 2d 2d 2d ...#.iterator.names.......#.----
6400 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 53 43 41 54 54 45 52 49 4e 47 20 2d 2d 2d -----------------.SCATTERING.---
6420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 20 20 20 32 20 23 20 53 63 61 74 74 -----------------......2.#.Scatt
6440 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 23 20 46 69 72 73 74 20 66 75 6e ering.functions......#.First.fun
6460 63 74 69 6f 6e 0a 20 20 20 20 20 32 20 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ction......2.7..................
6480 20 23 20 32 20 6c 69 6e 65 73 20 61 6e 64 20 37 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 .#.2.lines.and.7.columns......#.
64a0 65 71 2f 69 6e 20 70 31 20 70 32 20 20 69 20 20 6d 20 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 eq/in.p1.p2..i..m..n..1.........
64c0 20 30 20 20 20 20 31 20 20 30 20 2d 31 20 20 30 20 20 30 20 20 30 20 20 20 20 23 20 70 31 20 3d .0....1..0.-1..0..0..0....#.p1.=
64e0 20 69 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 .i..........0....0..1..0..0..0..
6500 30 20 20 20 20 23 20 70 32 20 3d 20 30 0a 20 20 20 20 20 23 20 53 65 63 6f 6e 64 20 66 75 6e 63 0....#.p2.=.0......#.Second.func
6520 74 69 6f 6e 0a 20 20 20 20 20 32 20 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion......2.8...................
6540 23 20 32 20 6c 69 6e 65 73 20 61 6e 64 20 38 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 #.2.lines.and.8.columns......#.e
6560 71 2f 69 6e 20 70 31 20 70 32 20 20 69 20 20 6a 20 20 6d 20 20 6e 20 20 31 0a 20 20 20 20 20 20 q/in.p1.p2..i..j..m..n..1.......
6580 20 20 20 30 20 20 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 2d 31 20 20 30 20 23 20 70 31 ...0....1..0..0..0..0.-1..0.#.p1
65a0 20 3d 20 6e 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 31 20 2d 31 20 2d 31 20 20 30 .=.n..........0....0..1.-1.-1..0
65c0 20 20 30 20 20 30 20 23 20 70 32 20 3d 20 69 2b 6a 0a 0a 20 20 20 20 20 31 20 23 20 57 65 20 77 ..0..0.#.p2.=.i+j.......1.#.We.w
65e0 61 6e 74 20 74 6f 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 20 74 68 65 20 73 63 61 74 74 65 72 69 ant.to.set.manually.the.scatteri
6600 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 61 6d 65 73 0a 20 20 20 20 20 70 31 20 70 32 20 20 20 ng.dimension.names......p1.p2...
6620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e ..............#.scattering.dimen
6640 73 69 6f 6e 20 6e 61 6d 65 73 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 sion.names....File:.cloog.info,.
6660 20 4e 6f 64 65 3a 20 43 61 6c 6c 69 6e 67 20 43 4c 6f 6f 47 2c 20 20 4e 65 78 74 3a 20 43 4c 6f .Node:.Calling.CLooG,..Next:.CLo
6680 6f 47 20 4f 70 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 57 72 69 74 69 6e 67 20 54 68 65 20 49 oG.Options,..Prev:.Writing.The.I
66a0 6e 70 75 74 20 46 69 6c 65 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 53 6f 66 74 77 61 72 65 0a 0a nput.File,..Up:.CLooG.Software..
66c0 32 2e 33 20 43 61 6c 6c 69 6e 67 20 43 4c 6f 6f 47 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2.3.Calling.CLooG.==============
66e0 3d 3d 3d 0a 0a 43 4c 6f 6f 47 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 74 68 65 20 66 6f 6c 6c ===..CLooG.is.called.by.the.foll
6700 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 6f 67 owing.command:.............cloog
6720 20 5b 20 6f 70 74 69 6f 6e 73 20 7c 20 66 69 6c 65 20 5d 0a 20 20 20 54 68 65 20 64 65 66 61 75 .[.options.|.file.]....The.defau
6740 6c 74 20 62 65 68 61 76 69 6f 72 20 6f 66 20 43 4c 6f 6f 47 20 69 73 20 74 6f 20 72 65 61 64 20 lt.behavior.of.CLooG.is.to.read.
6760 74 68 65 20 69 6e 70 75 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 20 66 72 6f 6d 0a 61 20 66 69 the.input.informations.from.a.fi
6780 6c 65 20 61 6e 64 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f le.and.to.print.the.generated.co
67a0 64 65 20 6f 72 20 70 73 65 75 64 6f 2d 63 6f 64 65 20 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 de.or.pseudo-code.on.the.standar
67c0 64 0a 6f 75 74 70 75 74 2e 20 20 43 4c 6f 6f 47 27 73 20 62 65 68 61 76 69 6f 72 20 61 6e 64 20 d.output...CLooG's.behavior.and.
67e0 74 68 65 20 6f 75 74 70 75 74 20 63 6f 64 65 20 73 68 61 70 65 20 69 73 20 75 6e 64 65 72 20 74 the.output.code.shape.is.under.t
6800 68 65 20 75 73 65 72 0a 63 6f 6e 74 72 6f 6c 20 74 68 61 6e 6b 73 20 74 6f 20 6d 61 6e 79 20 6f he.user.control.thanks.to.many.o
6820 70 74 69 6f 6e 73 20 77 68 69 63 68 20 61 72 65 20 64 65 74 61 69 6c 65 64 20 61 20 66 75 72 74 ptions.which.are.detailed.a.furt
6840 68 65 72 20 73 65 63 74 69 6f 6e 0a 28 2a 6e 6f 74 65 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 her.section.(*note.CLooG.Options
6860 3a 3a 29 2e 20 20 60 66 69 6c 65 27 20 69 73 20 74 68 65 20 69 6e 70 75 74 20 66 69 6c 65 2e 20 ::)...`file'.is.the.input.file..
6880 60 73 74 64 69 6e 27 20 69 73 20 61 0a 73 70 65 63 69 61 6c 20 76 61 6c 75 65 3a 20 77 68 65 6e `stdin'.is.a.special.value:.when
68a0 20 75 73 65 64 2c 20 69 6e 70 75 74 20 69 73 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2e 20 .used,.input.is.standard.input..
68c0 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 77 65 20 63 61 6e 0a 63 61 6c 6c 20 43 4c 6f 6f 47 20 For.instance,.we.can.call.CLooG.
68e0 74 6f 20 74 72 65 61 74 20 74 68 65 20 69 6e 70 75 74 20 66 69 6c 65 20 60 62 61 73 69 63 2e 63 to.treat.the.input.file.`basic.c
6900 6c 6f 6f 67 27 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 6f 70 74 69 6f 6e 73 0a 62 79 20 74 79 loog'.with.default.options.by.ty
6920 70 69 6e 67 3a 20 60 63 6c 6f 6f 67 20 62 61 73 69 63 2e 63 6c 6f 6f 67 27 20 6f 72 20 60 6d 6f ping:.`cloog.basic.cloog'.or.`mo
6940 72 65 20 62 61 73 69 63 2e 63 6c 6f 6f 67 20 7c 20 63 6c 6f 6f 67 20 73 74 64 69 6e 27 2e 0a 0a re.basic.cloog.|.cloog.stdin'...
6960 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 4c 6f 6f 47 ..File:.cloog.info,..Node:.CLooG
6980 20 4f 70 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 46 75 6c 6c 20 45 78 61 6d 70 6c 65 2c 20 20 .Options,..Next:.Full.Example,..
69a0 50 72 65 76 3a 20 43 61 6c 6c 69 6e 67 20 43 4c 6f 6f 47 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 Prev:.Calling.CLooG,..Up:.CLooG.
69c0 53 6f 66 74 77 61 72 65 0a 0a 32 2e 34 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 3d 3d 3d 3d Software..2.4.CLooG.Options.====
69e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 4c 61 73 74 20 44 =============..*.Menu:..*.Last.D
6a00 65 70 74 68 20 74 6f 20 4f 70 74 69 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 3a 3a 0a 2a 20 46 69 72 epth.to.Optimize.Control::.*.Fir
6a20 73 74 20 44 65 70 74 68 20 74 6f 20 4f 70 74 69 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 3a 3a 0a 2a st.Depth.to.Optimize.Control::.*
6a40 20 53 69 6d 70 6c 69 66 79 20 43 6f 6e 76 65 78 20 48 75 6c 6c 3a 3a 0a 2a 20 4f 6e 63 65 20 54 .Simplify.Convex.Hull::.*.Once.T
6a60 69 6d 65 20 4c 6f 6f 70 20 45 6c 69 6d 69 6e 61 74 69 6f 6e 3a 3a 0a 2a 20 45 71 75 61 6c 69 74 ime.Loop.Elimination::.*.Equalit
6a80 79 20 53 70 72 65 61 64 69 6e 67 3a 3a 0a 2a 20 43 6f 6e 73 74 61 6e 74 20 53 70 72 65 61 64 69 y.Spreading::.*.Constant.Spreadi
6aa0 6e 67 3a 3a 0a 2a 20 46 69 72 73 74 20 4c 65 76 65 6c 20 66 6f 72 20 53 70 72 65 61 64 69 6e 67 ng::.*.First.Level.for.Spreading
6ac0 3a 3a 0a 2a 20 43 20 50 72 65 50 72 6f 63 65 73 73 6f 72 20 46 72 69 65 6e 64 6c 79 3a 3a 0a 2a ::.*.C.PreProcessor.Friendly::.*
6ae0 20 53 74 61 74 65 6d 65 6e 74 20 42 6c 6f 63 6b 3a 3a 0a 2a 20 4c 6f 6f 70 20 53 74 72 69 64 65 .Statement.Block::.*.Loop.Stride
6b00 73 3a 3a 0a 2a 20 43 6f 6d 70 69 6c 61 62 6c 65 20 43 6f 64 65 3a 3a 0a 2a 20 4f 75 74 70 75 74 s::.*.Compilable.Code::.*.Output
6b20 3a 3a 0a 2a 20 48 65 6c 70 3a 3a 0a 2a 20 56 65 72 73 69 6f 6e 20 3a 3a 0a 0a 1f 0a 46 69 6c 65 ::.*.Help::.*.Version.::....File
6b40 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 61 73 74 20 44 65 70 74 68 20 :.cloog.info,..Node:.Last.Depth.
6b60 74 6f 20 4f 70 74 69 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 2c 20 20 4e 65 78 74 3a 20 46 69 72 73 to.Optimize.Control,..Next:.Firs
6b80 74 20 44 65 70 74 68 20 74 6f 20 4f 70 74 69 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 2c 20 20 55 70 t.Depth.to.Optimize.Control,..Up
6ba0 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 31 20 4c 61 73 74 20 44 65 70 74 :.CLooG.Options..2.4.1.Last.Dept
6bc0 68 20 74 6f 20 4f 70 74 69 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 20 60 2d 6c 20 3c 64 65 70 74 68 h.to.Optimize.Control.`-l.<depth
6be0 3e 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d >'.-----------------------------
6c00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 6c 20 3c 64 65 70 74 68 --------------------..`-l.<depth
6c20 3e 27 3a 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 6c 61 73 74 20 6c 6f >':.this.option.sets.the.last.lo
6c40 6f 70 20 64 65 70 74 68 20 74 6f 20 62 65 20 6f 70 74 69 6d 69 7a 65 64 20 69 6e 0a 63 6f 6e 74 op.depth.to.be.optimized.in.cont
6c60 72 6f 6c 2e 20 54 68 65 20 68 69 67 68 65 72 20 74 68 69 73 20 64 65 70 74 68 2c 20 74 68 65 20 rol..The.higher.this.depth,.the.
6c80 6c 65 73 73 20 63 6f 6e 74 72 6f 6c 20 6f 76 65 72 68 65 61 64 2e 20 20 46 6f 72 0a 69 6e 73 74 less.control.overhead...For.inst
6ca0 61 6e 63 65 2c 20 77 69 74 68 20 73 6f 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 2c 20 61 20 75 73 ance,.with.some.input.file,.a.us
6cc0 65 72 20 63 61 6e 20 67 65 6e 65 72 61 74 65 20 64 69 66 66 65 72 65 6e 74 0a 70 73 65 75 64 6f er.can.generate.different.pseudo
6ce0 2d 63 6f 64 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 60 64 65 70 74 68 27 20 76 61 -codes.with.different.`depth'.va
6d00 6c 75 65 73 20 61 73 20 73 68 6f 77 6e 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 2f 2a 20 47 65 6e lues.as.shown.below......./*.Gen
6d20 65 72 61 74 65 64 20 75 73 69 6e 67 20 61 20 67 69 76 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 erated.using.a.given.input.file.
6d40 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 6c 20 31 2a 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 69 and.*option.-l.1*.*/......for.(i
6d60 3d 30 3b 69 3c 3d 4d 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 =0;i<=M;i++).{........S1.;......
6d80 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c 3d 4e 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ..for.(j=0;j<=N;j++).{..........
6da0 53 32 20 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c S2.;........}........for.(j=0;j<
6dc0 3d 4e 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 33 20 3b 0a 20 20 20 20 20 20 20 7d =N;j++).{..........S3.;........}
6de0 0a 20 20 20 20 20 20 20 53 34 20 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e ........S4.;......}......./*.Gen
6e00 65 72 61 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 erated.using.the.same.input.file
6e20 20 62 75 74 20 2a 6f 70 74 69 6f 6e 20 2d 6c 20 32 2a 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 .but.*option.-l.2*.*/......for.(
6e40 69 3d 30 3b 69 3c 3d 4d 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 i=0;i<=M;i++).{........S1.;.....
6e60 20 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c 3d 4e 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 ...for.(j=0;j<=N;j++).{.........
6e80 20 53 32 20 3b 0a 20 20 20 20 20 20 20 20 20 53 33 20 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 .S2.;..........S3.;........}....
6ea0 20 20 20 20 53 34 20 3b 0a 20 20 20 20 20 7d 0a 20 20 20 20 20 49 6e 20 74 68 69 73 20 65 78 61 ....S4.;......}......In.this.exa
6ec0 6d 70 6c 65 20 77 65 20 63 61 6e 20 73 65 65 20 74 68 61 74 20 74 68 69 73 20 6f 70 74 69 6f 6e mple.we.can.see.that.this.option
6ee0 20 63 61 6e 20 63 68 61 6e 67 65 20 74 68 65 0a 6f 70 65 72 61 74 69 6f 6e 20 20 20 20 20 20 65 .can.change.the.operation......e
6f00 78 65 63 75 74 69 6f 6e 20 6f 72 64 65 72 20 62 65 74 77 65 65 6e 20 73 74 61 74 65 6d 65 6e 74 xecution.order.between.statement
6f20 73 2e 20 4c 65 74 20 75 73 20 72 65 6d 69 6e 64 20 74 68 61 74 0a 43 4c 6f 6f 47 20 64 6f 65 73 s..Let.us.remind.that.CLooG.does
6f40 20 6e 6f 74 20 20 20 20 20 20 6d 61 6b 65 20 61 6e 79 20 73 70 65 63 75 6c 61 74 69 6f 6e 20 6f .not......make.any.speculation.o
6f60 6e 20 64 65 70 65 6e 64 65 6e 63 65 73 20 62 65 74 77 65 65 6e 0a 73 74 61 74 65 6d 65 6e 74 73 n.dependences.between.statements
6f80 20 20 20 20 20 20 28 2a 6e 6f 74 65 20 53 63 61 74 74 65 72 69 6e 67 3a 3a 29 2e 20 54 68 75 73 ......(*note.Scattering::)..Thus
6fa0 20 69 66 20 6e 6f 74 68 69 6e 67 20 28 69 2e 65 2e 20 73 63 61 74 74 65 72 69 6e 67 0a 66 75 6e .if.nothing.(i.e..scattering.fun
6fc0 63 74 69 6f 6e 73 29 20 20 20 20 20 20 66 6f 72 62 69 64 73 20 74 68 69 73 2c 20 43 4c 6f 6f 47 ctions)......forbids.this,.CLooG
6fe0 20 63 6f 6e 73 69 64 65 72 73 20 74 68 65 20 61 62 6f 76 65 20 63 6f 64 65 73 20 74 6f 20 62 65 .considers.the.above.codes.to.be
7000 0a 65 71 75 69 76 61 6c 65 6e 74 2e 20 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e .equivalent........If.there.is.n
7020 6f 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 20 6d 69 6e 69 o.scattering.functions,.the.mini
7040 6d 75 6d 0a 76 61 6c 75 65 20 66 6f 72 20 60 64 65 70 74 68 27 20 20 20 20 20 20 69 73 20 31 20 mum.value.for.`depth'......is.1.
7060 28 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 30 2c 20 74 68 65 20 75 73 65 72 20 64 6f 65 73 (in.the.case.of.0,.the.user.does
7080 6e 27 74 20 72 65 61 6c 6c 79 0a 6e 65 65 64 20 61 20 6c 6f 6f 70 20 67 65 6e 65 72 61 74 6f 72 n't.really.need.a.loop.generator
70a0 20 21 29 2c 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 63 61 74 .!),......and.the.number.of.scat
70c0 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 73 0a 6f 74 68 65 72 77 69 73 65 20 28 43 4c 6f tering.dimensions.otherwise.(CLo
70e0 6f 47 20 77 69 6c 6c 20 77 61 72 6e 20 74 68 65 20 20 20 20 20 20 75 73 65 72 20 69 66 20 68 65 oG.will.warn.the......user.if.he
7100 20 64 6f 65 73 6e 27 74 20 72 65 73 70 65 63 74 20 73 75 63 68 0a 63 6f 6e 73 74 72 61 69 6e 74 .doesn't.respect.such.constraint
7120 29 2e 20 20 20 20 20 20 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 66 6f 72 20 64 )........The.maximum.value.for.d
7140 65 70 74 68 20 69 73 20 2d 31 20 28 69 6e 66 69 6e 69 74 79 29 2e 0a 44 65 66 61 75 6c 74 20 76 epth.is.-1.(infinity)..Default.v
7160 61 6c 75 65 20 69 73 20 69 6e 66 69 6e 69 74 79 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 alue.is.infinity.....File:.cloog
7180 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 69 72 73 74 20 44 65 70 74 68 20 74 6f 20 4f 70 74 .info,..Node:.First.Depth.to.Opt
71a0 69 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 2c 20 20 4e 65 78 74 3a 20 53 69 6d 70 6c 69 66 79 20 43 imize.Control,..Next:.Simplify.C
71c0 6f 6e 76 65 78 20 48 75 6c 6c 2c 20 20 50 72 65 76 3a 20 4c 61 73 74 20 44 65 70 74 68 20 74 6f onvex.Hull,..Prev:.Last.Depth.to
71e0 20 4f 70 74 69 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 4f 70 .Optimize.Control,..Up:.CLooG.Op
7200 74 69 6f 6e 73 0a 0a 32 2e 34 2e 32 20 46 69 72 73 74 20 44 65 70 74 68 20 74 6f 20 4f 70 74 69 tions..2.4.2.First.Depth.to.Opti
7220 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 20 60 2d 66 20 3c 64 65 70 74 68 3e 27 0a 2d 2d 2d 2d 2d 2d mize.Control.`-f.<depth>'.------
7240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
7260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 66 20 3c 64 65 70 74 68 3e 27 3a 20 74 68 69 73 ------------..`-f.<depth>':.this
7280 20 6f 70 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 66 69 72 73 74 20 6c 6f 6f 70 20 64 65 70 74 .option.sets.the.first.loop.dept
72a0 68 20 74 6f 20 62 65 20 6f 70 74 69 6d 69 7a 65 64 0a 69 6e 20 63 6f 6e 74 72 6f 6c 2e 20 54 68 h.to.be.optimized.in.control..Th
72c0 65 20 6c 6f 77 65 72 20 74 68 69 73 20 64 65 70 74 68 2c 20 74 68 65 20 6c 65 73 73 20 63 6f 6e e.lower.this.depth,.the.less.con
72e0 74 72 6f 6c 20 6f 76 65 72 68 65 61 64 20 28 61 6e 64 20 74 68 65 0a 6c 6f 6e 67 65 72 20 20 20 trol.overhead.(and.the.longer...
7300 20 20 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 29 2e 20 46 6f 72 20 69 6e 73 74 ...the.generated.code)..For.inst
7320 61 6e 63 65 2c 20 77 69 74 68 20 73 6f 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 2c 20 61 0a 75 73 ance,.with.some.input.file,.a.us
7340 65 72 20 20 20 20 20 20 63 61 6e 20 67 65 6e 65 72 61 74 65 20 64 69 66 66 65 72 65 6e 74 20 70 er......can.generate.different.p
7360 73 65 75 64 6f 2d 63 6f 64 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 60 64 65 70 74 seudo-codes.with.different.`dept
7380 68 27 0a 76 61 6c 75 65 73 20 20 20 20 20 20 61 73 20 73 68 6f 77 6e 20 62 65 6c 6f 77 2e 20 20 h'.values......as.shown.below...
73a0 20 20 20 20 20 54 68 65 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 66 6f 72 20 60 64 65 70 74 .....The.minimum.value.for.`dept
73c0 68 27 20 69 73 20 31 2c 0a 61 6e 64 20 74 68 65 20 20 20 20 20 20 6d 61 78 69 6d 75 6d 20 76 61 h'.is.1,.and.the......maximum.va
73e0 6c 75 65 20 69 73 20 2d 31 20 28 69 6e 66 69 6e 69 74 79 29 2e 20 20 20 20 20 20 20 44 65 66 61 lue.is.-1.(infinity)........Defa
7400 75 6c 74 20 76 61 6c 75 65 20 69 73 20 31 2e 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 ult.value.is.1......./*.Generate
7420 64 20 75 73 69 6e 67 20 61 20 67 69 76 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 61 6e 64 20 2a d.using.a.given.input.file.and.*
7440 6f 70 74 69 6f 6e 20 2d 66 20 33 2a 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 31 3b 69 3c option.-f.3*.*/......for.(i=1;i<
7460 3d 4e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 31 3b 6a 3c 3d 4d 3b 6a =N;i++).{........for.(j=1;j<=M;j
7480 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 20 20 20 20 69 66 20 ++).{..........S1.;..........if.
74a0 28 6a 20 3e 3d 20 31 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 53 32 20 3b 0a 20 20 20 20 (j.>=.10).{............S2.;.....
74c0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2a 20 .....}........}......}......./*.
74e0 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 74 20 66 Generated.using.the.same.input.f
7500 69 6c 65 20 62 75 74 20 2a 6f 70 74 69 6f 6e 20 2d 66 20 32 2a 20 2a 2f 0a 20 20 20 20 20 66 6f ile.but.*option.-f.2*.*/......fo
7520 72 20 28 69 3d 31 3b 69 3c 3d 4e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a r.(i=1;i<=N;i++).{........for.(j
7540 3d 31 3b 6a 3c 3d 39 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 =1;j<=9;j++).{..........S1.;....
7560 20 20 20 20 7d 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 31 30 3b 6a 3c 3d 4d 3b 6a 2b 2b 29 ....}........for.(j=10;j<=M;j++)
7580 20 7b 0a 20 20 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 20 20 20 20 53 32 20 3b 0a 20 .{..........S1.;..........S2.;..
75a0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e ......}......}....File:.cloog.in
75c0 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 69 6d 70 6c 69 66 79 20 43 6f 6e 76 65 78 20 48 75 6c 6c 2c fo,..Node:.Simplify.Convex.Hull,
75e0 20 20 4e 65 78 74 3a 20 4f 6e 63 65 20 54 69 6d 65 20 4c 6f 6f 70 20 45 6c 69 6d 69 6e 61 74 69 ..Next:.Once.Time.Loop.Eliminati
7600 6f 6e 2c 20 20 50 72 65 76 3a 20 46 69 72 73 74 20 44 65 70 74 68 20 74 6f 20 4f 70 74 69 6d 69 on,..Prev:.First.Depth.to.Optimi
7620 7a 65 20 43 6f 6e 74 72 6f 6c 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a ze.Control,..Up:.CLooG.Options..
7640 32 2e 34 2e 33 20 53 69 6d 70 6c 69 66 79 20 43 6f 6e 76 65 78 20 48 75 6c 6c 20 60 2d 73 68 20 2.4.3.Simplify.Convex.Hull.`-sh.
7660 3c 62 6f 6f 6c 65 61 6e 3e 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d <boolean>'.---------------------
7680 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 73 68 20 3c 62 6f 6f ---------------------..`-sh.<boo
76a0 6c 65 61 6e 3e 27 3a 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 65 6e 61 62 6c 65 73 20 28 60 62 6f lean>':.this.option.enables.(`bo
76c0 6f 6c 65 61 6e 3d 31 27 29 20 20 20 20 20 20 6f 72 20 66 6f 72 62 69 64 73 0a 28 60 62 6f 6f 6c olean=1')......or.forbids.(`bool
76e0 65 61 6e 3d 30 27 29 20 61 20 73 69 6d 70 6c 69 66 69 63 61 74 69 6f 6e 20 73 74 65 70 20 20 20 ean=0').a.simplification.step...
7700 20 20 20 74 68 61 74 20 6d 61 79 20 73 69 6d 70 6c 69 66 79 20 73 6f 6d 65 0a 63 6f 6e 73 74 72 ...that.may.simplify.some.constr
7720 61 69 6e 74 73 2e 20 20 20 20 20 20 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 77 6f 72 6b 73 20 6f aints........This.option.works.o
7740 6e 6c 79 20 66 6f 72 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 77 69 74 68 6f 75 74 0a 20 nly.for.generated.code.without..
7760 63 6f 64 65 20 64 75 70 6c 69 63 61 74 69 6f 6e 20 28 69 74 20 6d 65 61 6e 73 2c 20 79 6f 75 20 code.duplication.(it.means,.you.
7780 68 61 76 65 20 74 6f 20 74 75 6e 65 20 60 2d 66 27 20 61 6e 64 20 20 20 20 20 20 60 2d 6c 27 0a have.to.tune.`-f'.and......`-l'.
77a0 6f 70 74 69 6f 6e 73 20 66 69 72 73 74 20 74 6f 20 67 65 6e 65 72 61 74 65 20 6f 6e 6c 79 20 61 options.first.to.generate.only.a
77c0 20 6c 6f 6f 70 20 6e 65 73 74 20 77 69 74 68 20 69 6e 74 65 72 6e 61 6c 20 20 20 20 20 20 67 75 .loop.nest.with.internal......gu
77e0 61 72 64 73 29 2e 0a 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 77 69 74 68 20 74 68 65 20 69 6e ards)..For.instance,.with.the.in
7800 70 75 74 20 66 69 6c 65 20 60 74 65 73 74 2f 75 6e 69 6f 6e 2e 63 6c 6f 6f 67 27 2c 20 61 20 75 put.file.`test/union.cloog',.a.u
7820 73 65 72 20 20 20 20 20 20 63 61 6e 0a 67 65 6e 65 72 61 74 65 20 64 69 66 66 65 72 65 6e 74 20 ser......can.generate.different.
7840 70 73 65 75 64 6f 2d 63 6f 64 65 73 20 20 61 73 20 73 68 6f 77 6e 20 62 65 6c 6f 77 2e 20 20 20 pseudo-codes..as.shown.below....
7860 20 20 20 20 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 0a 30 2e 0a 20 20 20 20 20 2f 2a 20 ....Default.value.is.0......./*.
7880 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 74 65 73 74 2f 75 6e 69 6f 6e 2e 63 6c 6f 6f 67 Generated.using.test/union.cloog
78a0 20 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 66 20 2d 31 20 2d 6c 20 32 20 2d 6f 76 65 72 72 69 64 .and.*option.-f.-1.-l.2.-overrid
78c0 65 2a 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 30 3b 69 3c 3d 31 31 3b 69 2b 2b 29 20 7b e*.*/......for.(i=0;i<=11;i++).{
78e0 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 6d 61 78 28 30 2c 35 2a 69 2d 35 30 29 3b 6a 3c 3d ........for.(j=max(0,5*i-50);j<=
7900 6d 69 6e 28 31 35 2c 35 2a 69 2b 31 30 29 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 69 min(15,5*i+10);j++).{..........i
7920 66 20 28 28 69 20 3c 3d 20 31 30 29 20 26 26 20 28 6a 20 3c 3d 20 31 30 29 29 20 7b 0a 20 20 20 f.((i.<=.10).&&.(j.<=.10)).{....
7940 20 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ........S1.;..........}.........
7960 20 69 66 20 28 28 69 20 3e 3d 20 31 29 20 26 26 20 28 6a 20 3e 3d 20 35 29 29 20 7b 0a 20 20 20 .if.((i.>=.1).&&.(j.>=.5)).{....
7980 20 20 20 20 20 20 20 20 53 32 20 3b 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 7d ........S2.;..........}........}
79a0 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 ......}......./*.Generated.using
79c0 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 20 62 75 74 20 2a 6f 70 74 69 6f 6e .the.same.input.file.but.*option
79e0 20 2d 73 68 20 31 20 2d 66 20 2d 31 20 2d 6c 20 32 20 2d 6f 76 65 72 72 69 64 65 2a 20 2a 2f 0a .-sh.1.-f.-1.-l.2.-override*.*/.
7a00 20 20 20 20 20 66 6f 72 20 28 69 3d 30 3b 69 3c 3d 31 31 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 .....for.(i=0;i<=11;i++).{......
7a20 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c 3d 31 35 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 ..for.(j=0;j<=15;j++).{.........
7a40 20 69 66 20 28 28 69 20 3c 3d 20 31 30 29 20 26 26 20 28 6a 20 3c 3d 20 31 30 29 29 20 7b 0a 20 .if.((i.<=.10).&&.(j.<=.10)).{..
7a60 20 20 20 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..........S1.;..........}.......
7a80 20 20 20 69 66 20 28 28 69 20 3e 3d 20 31 29 20 26 26 20 28 6a 20 3e 3d 20 35 29 29 20 7b 0a 20 ...if.((i.>=.1).&&.(j.>=.5)).{..
7aa0 20 20 20 20 20 20 20 20 20 20 53 32 20 3b 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..........S2.;..........}.......
7ac0 20 7d 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 .}......}....File:.cloog.info,..
7ae0 4e 6f 64 65 3a 20 4f 6e 63 65 20 54 69 6d 65 20 4c 6f 6f 70 20 45 6c 69 6d 69 6e 61 74 69 6f 6e Node:.Once.Time.Loop.Elimination
7b00 2c 20 20 4e 65 78 74 3a 20 45 71 75 61 6c 69 74 79 20 53 70 72 65 61 64 69 6e 67 2c 20 20 50 72 ,..Next:.Equality.Spreading,..Pr
7b20 65 76 3a 20 53 69 6d 70 6c 69 66 79 20 43 6f 6e 76 65 78 20 48 75 6c 6c 2c 20 20 55 70 3a 20 43 ev:.Simplify.Convex.Hull,..Up:.C
7b40 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 34 20 4f 6e 63 65 20 54 69 6d 65 20 4c 6f LooG.Options..2.4.4.Once.Time.Lo
7b60 6f 70 20 45 6c 69 6d 69 6e 61 74 69 6f 6e 20 60 2d 6f 74 6c 20 3c 62 6f 6f 6c 65 61 6e 3e 27 0a op.Elimination.`-otl.<boolean>'.
7b80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
7ba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 6f 74 6c 20 3c 62 6f 6f 6c 65 61 -----------------..`-otl.<boolea
7bc0 6e 3e 27 3a 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 28 60 62 6f 6f 6c 65 61 n>':.this.option.allows.(`boolea
7be0 6e 3d 31 27 29 20 6f 72 20 20 20 20 20 20 66 6f 72 62 69 64 73 0a 28 60 62 6f 6f 6c 65 61 6e 3d n=1').or......forbids.(`boolean=
7c00 30 27 29 20 74 68 65 20 73 69 6d 70 6c 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 6c 6f 6f 70 73 20 0').the.simplification.of.loops.
7c20 72 75 6e 6e 69 6e 67 20 20 20 20 20 20 6f 6e 63 65 2e 20 44 65 66 61 75 6c 74 0a 76 61 6c 75 65 running......once..Default.value
7c40 20 69 73 20 31 2e 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 61 .is.1......./*.Generated.using.a
7c60 20 67 69 76 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 6f .given.input.file.and.*option.-o
7c80 74 6c 20 30 2a 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 6a 3d 69 2b 31 3b 6a 3c 3d 69 2b 31 3b tl.0*.*/......for.(j=i+1;j<=i+1;
7ca0 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 j++).{........S1.;......}.......
7cc0 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 /*.Generated.using.the.same.inpu
7ce0 74 20 66 69 6c 65 20 62 75 74 20 2a 6f 70 74 69 6f 6e 20 2d 6f 74 6c 20 31 2a 20 2a 2f 0a 20 20 t.file.but.*option.-otl.1*.*/...
7d00 20 20 20 6a 20 3d 20 69 2b 31 20 3b 0a 20 20 20 20 20 53 31 20 3b 0a 0a 1f 0a 46 69 6c 65 3a 20 ...j.=.i+1.;......S1.;....File:.
7d20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 71 75 61 6c 69 74 79 20 53 70 72 65 cloog.info,..Node:.Equality.Spre
7d40 61 64 69 6e 67 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 73 74 61 6e 74 20 53 70 72 65 61 64 69 6e 67 ading,..Next:.Constant.Spreading
7d60 2c 20 20 50 72 65 76 3a 20 4f 6e 63 65 20 54 69 6d 65 20 4c 6f 6f 70 20 45 6c 69 6d 69 6e 61 74 ,..Prev:.Once.Time.Loop.Eliminat
7d80 69 6f 6e 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 35 20 45 ion,..Up:.CLooG.Options..2.4.5.E
7da0 71 75 61 6c 69 74 79 20 53 70 72 65 61 64 69 6e 67 20 60 2d 65 73 70 20 3c 62 6f 6f 6c 65 61 6e quality.Spreading.`-esp.<boolean
7dc0 3e 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d >'.-----------------------------
7de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 65 73 70 20 3c 62 6f 6f 6c 65 61 6e 3e 27 3a 20 ------------..`-esp.<boolean>':.
7e00 74 68 69 73 20 6f 70 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 28 60 62 6f 6f 6c 65 61 6e 3d 31 27 29 this.option.allows.(`boolean=1')
7e20 20 6f 72 20 20 20 20 20 20 66 6f 72 62 69 64 73 0a 28 60 62 6f 6f 6c 65 61 6e 3d 30 27 29 20 76 .or......forbids.(`boolean=0').v
7e40 61 6c 75 65 73 20 73 70 72 65 61 64 69 6e 67 20 77 68 65 6e 20 74 68 65 72 65 20 20 20 20 20 20 alues.spreading.when.there......
7e60 61 72 65 20 65 71 75 61 6c 69 74 69 65 73 2e 20 44 65 66 61 75 6c 74 0a 76 61 6c 75 65 20 69 73 are.equalities..Default.value.is
7e80 20 30 2e 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 61 20 67 69 .0......./*.Generated.using.a.gi
7ea0 76 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 65 73 70 20 ven.input.file.and.*option.-esp.
7ec0 30 2a 20 2a 2f 0a 20 20 20 20 20 69 20 3d 20 4d 2b 32 20 3b 0a 20 20 20 20 20 6a 20 3d 20 4e 20 0*.*/......i.=.M+2.;......j.=.N.
7ee0 3b 0a 20 20 20 20 20 66 6f 72 20 28 6b 3d 69 3b 6b 3c 3d 6a 2b 4d 3b 6b 2b 2b 29 20 7b 0a 20 20 ;......for.(k=i;k<=j+M;k++).{...
7f00 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 .....S1.;......}......./*.Genera
7f20 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 20 62 75 ted.using.the.same.input.file.bu
7f40 74 20 2a 6f 70 74 69 6f 6e 20 2d 65 73 70 20 31 2a 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 6b t.*option.-esp.1*.*/......for.(k
7f60 3d 4d 2b 32 3b 6b 3c 3d 4e 2b 4d 3b 6b 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 53 31 28 69 20 3d =M+2;k<=N+M;k++).{........S1(i.=
7f80 20 4d 2b 32 2c 20 6a 20 3d 20 4e 29 20 3b 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 .M+2,.j.=.N).;......}....File:.c
7fa0 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f 6e 73 74 61 6e 74 20 53 70 72 65 61 loog.info,..Node:.Constant.Sprea
7fc0 64 69 6e 67 2c 20 20 4e 65 78 74 3a 20 46 69 72 73 74 20 4c 65 76 65 6c 20 66 6f 72 20 53 70 72 ding,..Next:.First.Level.for.Spr
7fe0 65 61 64 69 6e 67 2c 20 20 50 72 65 76 3a 20 45 71 75 61 6c 69 74 79 20 53 70 72 65 61 64 69 6e eading,..Prev:.Equality.Spreadin
8000 67 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 36 20 43 6f 6e g,..Up:.CLooG.Options..2.4.6.Con
8020 73 74 61 6e 74 20 53 70 72 65 61 64 69 6e 67 20 60 2d 63 73 70 20 3c 62 6f 6f 6c 65 61 6e 3e 27 stant.Spreading.`-csp.<boolean>'
8040 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .-------------------------------
8060 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 63 73 70 20 3c 62 6f 6f 6c 65 61 6e 3e 27 3a 20 74 68 ----------..`-csp.<boolean>':.th
8080 69 73 20 6f 70 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 28 60 62 6f 6f 6c 65 61 6e 3d 31 27 29 20 6f is.option.allows.(`boolean=1').o
80a0 72 20 20 20 20 20 20 66 6f 72 62 69 64 73 0a 28 60 62 6f 6f 6c 65 61 6e 3d 30 27 29 20 76 61 6c r......forbids.(`boolean=0').val
80c0 75 65 73 20 73 70 72 65 61 64 69 6e 67 20 77 68 65 6e 20 20 20 20 20 20 74 68 65 72 65 20 61 72 ues.spreading.when......there.ar
80e0 65 20 5f 63 6f 6e 73 74 61 6e 74 5f 0a 65 71 75 61 6c 69 74 69 65 73 2e 20 54 68 61 74 20 69 73 e._constant_.equalities..That.is
8100 2c 20 77 68 65 6e 20 74 68 65 20 72 69 67 68 74 20 6d 65 6d 62 65 72 20 20 20 20 20 20 6f 66 20 ,.when.the.right.member......of.
8120 74 68 65 20 65 71 75 61 6c 69 74 79 20 69 73 20 61 0a 63 6f 6e 73 74 61 6e 74 20 74 65 72 6d 2e the.equality.is.a.constant.term.
8140 20 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 31 2e 0a 20 20 20 20 20 2f 2a 20 47 65 6e .Default.value.is.1......./*.Gen
8160 65 72 61 74 65 64 20 75 73 69 6e 67 20 61 20 67 69 76 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 erated.using.a.given.input.file.
8180 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 63 73 70 20 30 2a 20 2a 2f 0a 20 20 20 20 20 69 20 3d 20 and.*option.-csp.0*.*/......i.=.
81a0 4d 2b 32 20 3b 0a 20 20 20 20 20 6a 20 3d 20 4e 20 3b 0a 20 20 20 20 20 66 6f 72 20 28 6b 3d 69 M+2.;......j.=.N.;......for.(k=i
81c0 3b 6a 3c 3d 6a 2b 4d 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 ;j<=j+M;j++).{........S1.;......
81e0 7d 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 73 }......./*.Generated.using.the.s
8200 61 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 20 62 75 74 20 2a 6f 70 74 69 6f 6e 20 2d 63 73 70 20 ame.input.file.but.*option.-csp.
8220 31 2a 20 2a 2f 0a 20 20 20 20 20 69 20 3d 20 4d 2b 32 20 3b 0a 20 20 20 20 20 66 6f 72 20 28 6b 1*.*/......i.=.M+2.;......for.(k
8240 3d 69 3b 6b 3c 3d 4e 2b 4d 3b 6b 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 53 31 28 6a 20 3d 20 4e =i;k<=N+M;k++).{........S1(j.=.N
8260 29 20 3b 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 ).;......}....File:.cloog.info,.
8280 20 4e 6f 64 65 3a 20 46 69 72 73 74 20 4c 65 76 65 6c 20 66 6f 72 20 53 70 72 65 61 64 69 6e 67 .Node:.First.Level.for.Spreading
82a0 2c 20 20 4e 65 78 74 3a 20 43 20 50 72 65 50 72 6f 63 65 73 73 6f 72 20 46 72 69 65 6e 64 6c 79 ,..Next:.C.PreProcessor.Friendly
82c0 2c 20 20 50 72 65 76 3a 20 43 6f 6e 73 74 61 6e 74 20 53 70 72 65 61 64 69 6e 67 2c 20 20 55 70 ,..Prev:.Constant.Spreading,..Up
82e0 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 37 20 46 69 72 73 74 20 4c 65 76 :.CLooG.Options..2.4.7.First.Lev
8300 65 6c 20 66 6f 72 20 53 70 72 65 61 64 69 6e 67 20 60 2d 66 73 70 20 3c 6c 65 76 65 6c 3e 27 0a el.for.Spreading.`-fsp.<level>'.
8320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 66 73 70 20 3c 6c 65 76 65 6c 3e 27 3a 20 --------------..`-fsp.<level>':.
8360 69 74 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 73 65 74 20 61 20 20 20 20 20 20 66 it.can.be.useful.to.set.a......f
8380 69 72 73 74 20 6c 65 76 65 6c 20 74 6f 20 62 65 67 69 6e 0a 65 71 75 61 6c 69 74 79 20 73 70 72 irst.level.to.begin.equality.spr
83a0 65 61 64 69 6e 67 2e 20 50 61 72 74 69 63 75 6c 61 72 6c 79 20 77 68 65 6e 20 75 73 69 6e 67 20 eading..Particularly.when.using.
83c0 20 20 20 20 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2c 0a 74 68 65 20 75 .....scattering.functions,.the.u
83e0 73 65 72 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 73 65 65 20 74 68 65 20 73 63 61 74 74 65 72 69 ser.may.want.to.see.the.scatteri
8400 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 20 20 20 20 20 76 61 6c 75 65 73 20 69 6e 73 74 65 61 64 ng.dimension......values.instead
8420 0a 6f 66 20 73 70 72 65 61 64 69 6e 67 20 6f 72 20 68 69 64 69 6e 67 20 74 68 65 6d 2e 20 49 66 .of.spreading.or.hiding.them..If
8440 20 75 73 65 72 20 68 61 73 20 73 65 74 20 61 20 20 20 20 20 20 73 70 72 65 61 64 69 6e 67 2c 20 .user.has.set.a......spreading,.
8460 60 6c 65 76 65 6c 27 0a 69 73 20 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 6c 65 76 65 6c 20 `level'.is......the.first.level.
8480 74 6f 20 73 74 61 72 74 20 69 74 2e 20 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 31 2e to.start.it..Default.value.is.1.
84a0 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 61 20 67 69 76 65 6e ....../*.Generated.using.a.given
84c0 20 69 6e 70 75 74 20 66 69 6c 65 20 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 66 73 70 20 31 2a 20 .input.file.and.*option.-fsp.1*.
84e0 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c 3d 4e 2b 4d 3b 6a 2b 2b 29 20 7b 0a 20 */......for.(j=0;j<=N+M;j++).{..
8500 20 20 20 20 20 20 53 31 28 69 20 3d 20 4e 29 20 3b 0a 20 20 20 20 20 7d 0a 20 20 20 20 20 66 6f ......S1(i.=.N).;......}......fo
8520 72 20 28 6a 3d 30 3b 6a 3c 3d 4e 2b 4d 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 53 31 28 69 r.(j=0;j<=N+M;j++).{........S1(i
8540 20 3d 20 4d 29 20 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 .=.M).;......}......./*.Generate
8560 64 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 20 62 75 74 20 d.using.the.same.input.file.but.
8580 2a 6f 70 74 69 6f 6e 20 2d 66 73 70 20 32 2a 20 2a 2f 0a 20 20 20 20 20 63 31 20 3d 20 4e 20 3b *option.-fsp.2*.*/......c1.=.N.;
85a0 0a 20 20 20 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c 3d 63 31 2b 4d 3b 6a 2b 2b 29 20 7b 0a 20 20 ......for.(j=0;j<=c1+M;j++).{...
85c0 20 20 20 20 20 53 31 28 69 20 3d 20 63 31 29 20 3b 0a 20 20 20 20 20 7d 0a 20 20 20 20 20 63 31 .....S1(i.=.c1).;......}......c1
85e0 20 3d 20 4d 20 3b 0a 20 20 20 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c 3d 4e 2b 63 31 3b 6a 2b 2b .=.M.;......for.(j=0;j<=N+c1;j++
8600 29 20 7b 0a 20 20 20 20 20 20 20 53 31 28 69 20 3d 20 63 31 29 20 3b 0a 20 20 20 20 20 7d 0a 0a ).{........S1(i.=.c1).;......}..
8620 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 20 50 72 65 ..File:.cloog.info,..Node:.C.Pre
8640 50 72 6f 63 65 73 73 6f 72 20 46 72 69 65 6e 64 6c 79 2c 20 20 4e 65 78 74 3a 20 53 74 61 74 65 Processor.Friendly,..Next:.State
8660 6d 65 6e 74 20 42 6c 6f 63 6b 2c 20 20 50 72 65 76 3a 20 46 69 72 73 74 20 4c 65 76 65 6c 20 66 ment.Block,..Prev:.First.Level.f
8680 6f 72 20 53 70 72 65 61 64 69 6e 67 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 or.Spreading,..Up:.CLooG.Options
86a0 0a 0a 32 2e 34 2e 38 20 43 20 50 72 65 50 72 6f 63 65 73 73 6f 72 20 46 72 69 65 6e 64 6c 79 20 ..2.4.8.C.PreProcessor.Friendly.
86c0 60 2d 63 70 70 20 3c 62 6f 6f 6c 65 61 6e 3e 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d `-cpp.<boolean>'.---------------
86e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a -------------------------------.
8700 0a 60 2d 63 70 70 20 3c 62 6f 6f 6c 65 61 6e 3e 27 3a 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 61 .`-cpp.<boolean>':.this.option.a
8720 73 6b 20 43 4c 6f 6f 47 20 66 6f 72 20 70 72 69 6e 74 69 6e 67 20 61 20 6c 65 73 73 0a 68 75 6d sk.CLooG.for.printing.a.less.hum
8740 61 6e 2d 72 65 61 64 61 62 6c 65 20 62 75 74 20 63 6f 6d 70 69 6c 61 62 6c 65 20 63 6f 64 65 20 an-readable.but.compilable.code.
8760 62 79 20 75 73 69 6e 67 20 74 68 65 20 43 20 70 72 65 70 72 6f 63 65 73 73 6f 72 0a 28 60 62 6f by.using.the.C.preprocessor.(`bo
8780 6f 6c 65 61 6e 3d 31 27 29 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 65 61 63 68 20 73 74 61 olean=1')..In.this.case.each.sta
87a0 74 65 6d 65 6e 74 20 69 73 20 77 72 69 74 74 65 6e 20 61 73 20 61 0a 66 75 6e 63 74 69 6f 6e 20 tement.is.written.as.a.function.
87c0 6f 66 20 74 68 65 20 69 74 65 72 61 74 6f 72 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 of.the.iterators.corresponding.t
87e0 6f 20 69 74 73 20 64 6f 6d 61 69 6e 20 64 69 6d 65 6e 73 69 6f 6e 73 3a 0a 60 53 69 28 76 61 6c o.its.domain.dimensions:.`Si(val
8800 75 65 5f 6f 66 5f 69 74 65 72 61 74 6f 72 5f 31 2c 2e 2e 2e 2c 76 61 6c 75 65 5f 6f 66 5f 69 74 ue_of_iterator_1,...,value_of_it
8820 65 72 61 74 6f 72 5f 6e 29 27 2e 20 49 74 20 66 6f 6c 6c 6f 77 73 20 20 20 20 20 20 74 68 61 74 erator_n)'..It.follows......that
8840 0a 74 68 65 20 75 73 65 72 20 63 61 6e 20 65 61 73 69 6c 79 20 61 64 64 20 70 72 65 70 72 6f 63 .the.user.can.easily.add.preproc
8860 65 73 73 6f 72 20 6d 61 63 72 6f 73 20 74 6f 20 64 65 66 69 6e 65 20 65 61 63 68 0a 73 74 61 74 essor.macros.to.define.each.stat
8880 65 6d 65 6e 74 20 61 6e 64 20 75 73 65 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 74 65 78 74 ement.and.use.the.generated.text
88a0 75 61 6c 20 63 6f 64 65 20 64 69 72 65 63 74 6c 79 20 66 6f 72 20 63 6f 6d 70 69 6c 61 74 69 6f ual.code.directly.for.compilatio
88c0 6e 2e 0a 20 20 20 20 57 68 65 6e 20 60 62 6f 6f 6c 65 61 6e 27 20 69 73 20 73 65 74 20 74 6f 20 n......When.`boolean'.is.set.to.
88e0 30 2c 20 74 68 65 20 70 72 65 74 74 79 20 70 72 69 6e 74 65 72 20 68 61 73 20 74 68 65 20 64 65 0,.the.pretty.printer.has.the.de
8900 66 61 75 6c 74 0a 62 65 68 61 76 69 6f 75 72 2e 20 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 fault.behaviour..Default.value.i
8920 73 20 30 2e 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 61 20 67 s.0......./*.Generated.using.a.g
8940 69 76 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 63 70 70 iven.input.file.and.*option.-cpp
8960 20 30 2a 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c 3d 4e 2b 4d 3b 6a 2b 2b 29 .0*.*/......for.(j=0;j<=N+M;j++)
8980 20 7b 0a 20 20 20 20 20 20 20 53 31 28 69 20 3d 20 4e 29 20 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 .{........S1(i.=.N).;......}....
89a0 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 .../*.Generated.using.the.same.i
89c0 6e 70 75 74 20 66 69 6c 65 20 62 75 74 20 2a 6f 70 74 69 6f 6e 20 2d 63 70 70 20 31 2a 20 2a 2f nput.file.but.*option.-cpp.1*.*/
89e0 0a 20 20 20 20 20 2f 2a 20 61 6e 64 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 72 ....../*.and.a.preprocessor.macr
8a00 6f 20 73 65 74 20 62 79 20 74 68 65 20 75 73 65 72 20 2a 2f 0a 0a 20 20 20 20 20 23 64 65 66 69 o.set.by.the.user.*/.......#defi
8a20 6e 65 20 53 31 28 69 2c 6a 29 20 41 5b 28 6a 29 5d 3d 33 2a 28 69 29 0a 0a 20 20 20 20 20 66 6f ne.S1(i,j).A[(j)]=3*(i).......fo
8a40 72 20 28 6a 3d 30 3b 6a 3c 3d 4e 2b 4d 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 53 31 28 4e r.(j=0;j<=N+M;j++).{........S1(N
8a60 2c 6a 29 20 3b 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f ,j).;......}....File:.cloog.info
8a80 2c 20 20 4e 6f 64 65 3a 20 53 74 61 74 65 6d 65 6e 74 20 42 6c 6f 63 6b 2c 20 20 4e 65 78 74 3a ,..Node:.Statement.Block,..Next:
8aa0 20 4c 6f 6f 70 20 53 74 72 69 64 65 73 2c 20 20 50 72 65 76 3a 20 43 20 50 72 65 50 72 6f 63 65 .Loop.Strides,..Prev:.C.PreProce
8ac0 73 73 6f 72 20 46 72 69 65 6e 64 6c 79 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e ssor.Friendly,..Up:.CLooG.Option
8ae0 73 0a 0a 32 2e 34 2e 39 20 53 74 61 74 65 6d 65 6e 74 20 42 6c 6f 63 6b 20 60 2d 62 6c 6f 63 6b s..2.4.9.Statement.Block.`-block
8b00 20 3c 62 6f 6f 6c 65 61 6e 3e 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .<boolean>'.--------------------
8b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 62 6c 6f 63 6b 20 3c 62 --------------------..`-block.<b
8b40 6f 6f 6c 65 61 6e 3e 27 3a 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 28 60 62 oolean>':.this.option.allows.(`b
8b60 6f 6f 6c 65 61 6e 3d 31 27 29 20 74 6f 20 20 20 20 20 20 63 72 65 61 74 65 20 61 0a 73 74 61 74 oolean=1').to......create.a.stat
8b80 65 6d 65 6e 74 20 62 6c 6f 63 6b 20 66 6f 72 20 65 61 63 68 20 6e 65 77 20 69 74 65 72 61 74 6f ement.block.for.each.new.iterato
8ba0 72 2c 20 65 76 65 6e 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 20 20 20 20 20 61 6e r,.even.if.there.is.only......an
8bc0 0a 65 71 75 61 6c 69 74 79 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 69 6e .equality..This.can.be.useful.in
8be0 20 6f 72 64 65 72 20 74 6f 20 70 61 72 73 65 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 0a 70 73 .order.to.parse.the.generated.ps
8c00 65 75 64 6f 2d 63 6f 64 65 2e 20 57 68 65 6e 20 60 62 6f 6f 6c 65 61 6e 27 20 69 73 20 73 65 74 eudo-code..When.`boolean'.is.set
8c20 20 74 6f 20 30 20 6f 72 20 77 68 65 6e 20 74 68 65 20 67 65 6e 65 72 61 74 69 6f 6e 0a 6c 61 6e .to.0.or.when.the.generation.lan
8c40 67 75 61 67 65 20 69 73 20 46 4f 52 54 52 41 4e 2c 20 74 68 69 73 20 66 65 61 74 75 72 65 20 69 guage.is.FORTRAN,.this.feature.i
8c60 73 20 64 69 73 61 62 6c 65 64 2e 20 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 30 2e 0a s.disabled..Default.value.is.0..
8c80 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 61 20 67 69 76 65 6e 20 ...../*.Generated.using.a.given.
8ca0 69 6e 70 75 74 20 66 69 6c 65 20 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 62 6c 6f 63 6b 20 30 2a input.file.and.*option.-block.0*
8cc0 20 2a 2f 0a 20 20 20 20 20 69 20 3d 20 4d 2b 32 20 3b 0a 20 20 20 20 20 6a 20 3d 20 4e 20 3b 0a .*/......i.=.M+2.;......j.=.N.;.
8ce0 20 20 20 20 20 53 31 20 3b 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 .....S1.;......./*.Generated.usi
8d00 6e 67 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 20 62 75 74 20 2a 6f 70 74 69 ng.the.same.input.file.but.*opti
8d20 6f 6e 20 2d 62 6c 6f 63 6b 20 31 2a 20 2a 2f 0a 20 20 20 20 20 7b 20 69 20 3d 20 4d 2b 32 20 3b on.-block.1*.*/......{.i.=.M+2.;
8d40 0a 20 20 20 20 20 20 20 7b 20 6a 20 3d 20 4e 20 3b 0a 20 20 20 20 20 20 20 20 20 53 31 20 3b 0a ........{.j.=.N.;..........S1.;.
8d60 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 .......}......}....File:.cloog.i
8d80 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 6f 6f 70 20 53 74 72 69 64 65 73 2c 20 20 4e 65 78 74 3a nfo,..Node:.Loop.Strides,..Next:
8da0 20 43 6f 6d 70 69 6c 61 62 6c 65 20 43 6f 64 65 2c 20 20 50 72 65 76 3a 20 53 74 61 74 65 6d 65 .Compilable.Code,..Prev:.Stateme
8dc0 6e 74 20 42 6c 6f 63 6b 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e nt.Block,..Up:.CLooG.Options..2.
8de0 34 2e 31 30 20 4c 6f 6f 70 20 53 74 72 69 64 65 73 20 60 2d 73 74 72 69 64 65 73 20 3c 62 6f 6f 4.10.Loop.Strides.`-strides.<boo
8e00 6c 65 61 6e 3e 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d lean>'.-------------------------
8e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 73 74 72 69 64 65 73 20 3c 62 6f 6f 6c ---------------..`-strides.<bool
8e40 65 61 6e 3e 27 3a 20 74 68 69 73 20 6f 70 74 69 6f 6e 73 20 61 6c 6c 6f 77 73 20 28 60 62 6f 6f ean>':.this.options.allows.(`boo
8e60 6c 65 61 6e 3d 31 27 29 20 74 6f 20 20 20 20 20 20 68 61 6e 64 6c 65 0a 6e 6f 6e 2d 75 6e 69 74 lean=1').to......handle.non-unit
8e80 20 73 74 72 69 64 65 73 20 66 6f 72 20 6c 6f 6f 70 20 69 6e 63 72 65 6d 65 6e 74 73 2e 20 54 68 .strides.for.loop.increments..Th
8ea0 69 73 20 63 61 6e 20 72 65 6d 6f 76 65 20 61 20 6c 6f 74 20 6f 66 0a 67 75 61 72 64 73 20 61 6e is.can.remove.a.lot.of.guards.an
8ec0 64 20 6d 61 6b 65 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 6d 6f 72 65 20 65 d.make.the.generated.code.more.e
8ee0 66 66 69 63 69 65 6e 74 2e 20 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 30 2e 0a 20 20 fficient..Default.value.is.0....
8f00 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 69 6e 67 20 61 20 67 69 76 65 6e 20 69 6e .../*.Generated.using.a.given.in
8f20 70 75 74 20 66 69 6c 65 20 61 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 73 74 72 69 64 65 73 20 30 2a put.file.and.*option.-strides.0*
8f40 20 2a 2f 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 31 3b 69 3c 3d 6e 3b 69 2b 2b 29 20 7b 0a 20 20 .*/......for.(i=1;i<=n;i++).{...
8f60 20 20 20 20 20 69 66 20 28 69 25 32 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 31 .....if.(i%2.==.0).{..........S1
8f80 28 6a 20 3d 20 69 2f 32 29 20 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 69 66 20 28 (j.=.i/2).;........}........if.(
8fa0 69 25 34 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 32 28 6a 20 3d 20 69 2f 34 29 i%4.==.0).{..........S2(j.=.i/4)
8fc0 20 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 .;........}......}......./*.Gene
8fe0 72 61 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 20 rated.using.the.same.input.file.
9000 62 75 74 20 2a 6f 70 74 69 6f 6e 20 2d 73 74 72 69 64 65 73 20 31 2a 20 2a 2f 0a 20 20 20 20 20 but.*option.-strides.1*.*/......
9020 66 6f 72 20 28 69 3d 32 3b 69 3c 3d 6e 3b 69 2b 3d 32 29 20 7b 0a 20 20 20 20 20 20 20 53 31 28 for.(i=2;i<=n;i+=2).{........S1(
9040 6a 20 3d 20 69 2f 32 29 20 3b 0a 20 20 20 20 20 20 20 69 66 20 28 69 25 34 20 3d 3d 20 30 29 20 j.=.i/2).;........if.(i%4.==.0).
9060 7b 0a 20 20 20 20 20 20 20 20 20 53 32 28 6a 20 3d 20 69 2f 34 29 20 3b 0a 20 20 20 20 20 20 20 {..........S2(j.=.i/4).;........
9080 7d 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e }......}....File:.cloog.info,..N
90a0 6f 64 65 3a 20 43 6f 6d 70 69 6c 61 62 6c 65 20 43 6f 64 65 2c 20 20 4e 65 78 74 3a 20 4f 75 74 ode:.Compilable.Code,..Next:.Out
90c0 70 75 74 2c 20 20 50 72 65 76 3a 20 4c 6f 6f 70 20 53 74 72 69 64 65 73 2c 20 20 55 70 3a 20 43 put,..Prev:.Loop.Strides,..Up:.C
90e0 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 31 31 20 43 6f 6d 70 69 6c 61 62 6c 65 20 LooG.Options..2.4.11.Compilable.
9100 43 6f 64 65 20 60 2d 63 6f 6d 70 69 6c 61 62 6c 65 20 3c 76 61 6c 75 65 3e 27 0a 2d 2d 2d 2d 2d Code.`-compilable.<value>'.-----
9120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
9140 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 63 6f 6d 70 69 6c 61 62 6c 65 20 3c 76 61 6c 75 65 3e 27 3a 20 -------..`-compilable.<value>':.
9160 74 68 69 73 20 6f 70 74 69 6f 6e 73 20 61 6c 6c 6f 77 73 20 28 60 76 61 6c 75 65 27 20 69 73 20 this.options.allows.(`value'.is.
9180 6e 6f 74 20 30 29 20 20 20 20 20 20 74 6f 0a 67 65 6e 65 72 61 74 65 20 61 20 63 6f 6d 70 69 6c not.0)......to.generate.a.compil
91a0 61 62 6c 65 20 63 6f 64 65 20 77 68 65 72 65 20 61 6c 6c 20 70 61 72 61 6d 65 74 65 72 73 20 68 able.code.where.all.parameters.h
91c0 61 76 65 20 74 68 65 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 60 76 61 6c 75 ave.the.integral.value.....`valu
91e0 65 27 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 6d 61 63 72 6f 20 e'..This.option.creates.a.macro.
9200 66 6f 72 20 65 61 63 68 20 73 74 61 74 65 6d 65 6e 74 2e 20 53 69 6e 63 65 0a 43 4c 6f 6f 47 20 for.each.statement..Since.CLooG.
9220 64 6f 20 6e 6f 74 20 6b 6e 6f 77 20 61 6e 79 74 68 69 6e 67 20 61 62 6f 75 74 20 74 68 65 20 73 do.not.know.anything.about.the.s
9240 74 61 74 65 6d 65 6e 74 20 73 6f 75 72 63 65 73 2c 20 69 74 20 66 69 6c 6c 73 20 74 68 65 0a 20 tatement.sources,.it.fills.the..
9260 6d 61 63 72 6f 73 20 77 69 74 68 20 61 20 62 61 73 69 63 20 69 6e 63 72 65 6d 65 6e 74 20 74 68 macros.with.a.basic.increment.th
9280 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 0a at.computes.the.total.number.of.
92a0 73 63 61 6e 6e 65 64 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 73 2e 20 54 68 65 20 75 73 65 scanned.integral.points..The.use
92c0 72 20 6d 61 79 20 63 68 61 6e 67 65 20 65 61 73 69 6c 79 20 74 68 65 20 6d 61 63 72 6f 73 20 61 r.may.change.easily.the.macros.a
92e0 63 63 6f 72 64 69 6e 67 0a 20 20 20 20 74 6f 20 68 69 73 20 6f 77 6e 20 6e 65 65 64 73 2e 20 54 ccording.....to.his.own.needs..T
9300 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 20 6f 6e 6c 79 20 69 66 20 74 his.option.is.possible.only.if.t
9320 68 65 20 67 65 6e 65 72 61 74 65 64 0a 63 6f 64 65 20 69 73 20 20 20 20 20 20 69 6e 20 43 2e 20 he.generated.code.is......in.C..
9340 44 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 30 2e 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 Default.value.is.0......./*.Gene
9360 72 61 74 65 64 20 75 73 69 6e 67 20 61 20 67 69 76 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 61 rated.using.a.given.input.file.a
9380 6e 64 20 2a 6f 70 74 69 6f 6e 20 2d 63 6f 6d 70 69 6c 61 62 6c 65 20 30 2a 20 2a 2f 0a 20 20 20 nd.*option.-compilable.0*.*/....
93a0 20 20 66 6f 72 20 28 69 3d 30 3b 69 3c 3d 6e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 66 6f ..for.(i=0;i<=n;i++).{........fo
93c0 72 20 28 6a 3d 30 3b 6a 3c 3d 6e 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 31 20 3b r.(j=0;j<=n;j++).{..........S1.;
93e0 0a 20 20 20 20 20 20 20 20 20 53 32 20 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 53 ..........S2.;........}........S
9400 33 20 3b 0a 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 2f 2a 20 47 65 6e 65 72 61 74 65 64 20 75 73 3.;......}......./*.Generated.us
9420 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 6e 70 75 74 20 66 69 6c 65 20 62 75 74 20 2a 6f 70 74 ing.the.same.input.file.but.*opt
9440 69 6f 6e 20 2d 63 6f 6d 70 69 6c 61 62 6c 65 20 31 30 2a 20 2a 2f 0a 20 20 20 20 20 2f 2a 20 44 ion.-compilable.10*.*/....../*.D
9460 4f 4e 27 54 20 46 4f 52 47 45 54 20 54 4f 20 55 53 45 20 2d 6c 6d 20 4f 50 54 49 4f 4e 20 54 4f ON'T.FORGET.TO.USE.-lm.OPTION.TO
9480 20 43 4f 4d 50 49 4c 45 2e 20 2a 2f 0a 0a 20 20 20 20 20 2f 2a 20 55 73 65 66 75 6c 20 68 65 61 .COMPILE..*/......./*.Useful.hea
94a0 64 65 72 73 2e 20 2a 2f 0a 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e ders..*/......#include.<stdio.h>
94c0 0a 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 0a 20 20 20 20 20 23 ......#include.<stdlib.h>......#
94e0 69 6e 63 6c 75 64 65 20 3c 6d 61 74 68 2e 68 3e 0a 0a 20 20 20 20 20 2f 2a 20 50 61 72 61 6d 65 include.<math.h>......./*.Parame
9500 74 65 72 20 76 61 6c 75 65 2e 20 2a 2f 0a 20 20 20 20 20 23 64 65 66 69 6e 65 20 50 41 52 56 41 ter.value..*/......#define.PARVA
9520 4c 20 31 30 0a 0a 20 20 20 20 20 2f 2a 20 53 74 61 74 65 6d 65 6e 74 20 6d 61 63 72 6f 73 20 28 L.10......./*.Statement.macros.(
9540 70 6c 65 61 73 65 20 73 65 74 29 2e 20 2a 2f 0a 20 20 20 20 20 23 64 65 66 69 6e 65 20 53 31 28 please.set)..*/......#define.S1(
9560 69 2c 6a 29 20 7b 74 6f 74 61 6c 2b 2b 3b 7d 0a 20 20 20 20 20 23 64 65 66 69 6e 65 20 53 32 28 i,j).{total++;}......#define.S2(
9580 69 2c 6a 29 20 7b 74 6f 74 61 6c 2b 2b 3b 7d 0a 20 20 20 20 20 23 64 65 66 69 6e 65 20 53 33 28 i,j).{total++;}......#define.S3(
95a0 69 29 20 20 20 7b 74 6f 74 61 6c 2b 2b 3b 7d 0a 0a 20 20 20 20 20 69 6e 74 20 6d 61 69 6e 28 29 i)...{total++;}.......int.main()
95c0 20 7b 0a 20 20 20 20 20 20 20 2f 2a 20 4f 72 69 67 69 6e 61 6c 20 69 74 65 72 61 74 6f 72 73 2e .{......../*.Original.iterators.
95e0 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 69 2c 20 6a 20 3b 0a 20 20 20 20 20 20 20 2f 2a 20 .*/........int.i,.j.;......../*.
9600 50 61 72 61 6d 65 74 65 72 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 6e 3d 50 41 52 56 Parameters..*/........int.n=PARV
9620 41 4c 2c 20 74 6f 74 61 6c 3d 30 20 3b 0a 0a 20 20 20 20 20 20 20 66 6f 72 20 28 69 3d 30 3b 69 AL,.total=0.;.........for.(i=0;i
9640 3c 3d 6e 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 30 3b 6a 3c 3d <=n;i++).{..........for.(j=0;j<=
9660 6e 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 53 31 28 69 2c 6a 29 20 3b 0a 20 20 n;j++).{............S1(i,j).;...
9680 20 20 20 20 20 20 20 20 20 53 32 28 69 2c 6a 29 20 3b 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 .........S2(i,j).;..........}...
96a0 20 20 20 20 20 20 20 53 33 28 69 29 20 3b 0a 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 .......S3(i).;........}.........
96c0 70 72 69 6e 74 66 28 22 4e 75 6d 62 65 72 20 6f 66 20 69 6e 74 65 67 72 61 6c 20 70 6f 69 6e 74 printf("Number.of.integral.point
96e0 73 3a 20 25 64 2e 5c 6e 22 2c 74 6f 74 61 6c 29 20 3b 0a 20 20 20 20 20 20 20 72 65 74 75 72 6e s:.%d.\n",total).;........return
9700 20 30 20 3b 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c .0.;......}....File:.cloog.info,
9720 20 20 4e 6f 64 65 3a 20 4f 75 74 70 75 74 2c 20 20 4e 65 78 74 3a 20 48 65 6c 70 2c 20 20 50 72 ..Node:.Output,..Next:.Help,..Pr
9740 65 76 3a 20 43 6f 6d 70 69 6c 61 62 6c 65 20 43 6f 64 65 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 ev:.Compilable.Code,..Up:.CLooG.
9760 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 31 32 20 4f 75 74 70 75 74 20 60 2d 6f 20 3c 6f 75 74 70 Options..2.4.12.Output.`-o.<outp
9780 75 74 3e 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ut>'.---------------------------
97a0 0a 0a 60 2d 6f 20 3c 6f 75 74 70 75 74 3e 27 3a 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 73 65 74 ..`-o.<output>':.this.option.set
97c0 73 20 74 68 65 20 6f 75 74 70 75 74 20 66 69 6c 65 2e 20 60 73 74 64 6f 75 74 27 20 69 73 20 61 s.the.output.file..`stdout'.is.a
97e0 0a 73 70 65 63 69 61 6c 20 76 61 6c 75 65 3a 20 77 68 65 6e 20 75 73 65 64 2c 20 6f 75 74 70 75 .special.value:.when.used,.outpu
9800 74 20 69 73 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 20 20 20 20 20 20 20 44 65 66 61 t.is.standard.output........Defa
9820 75 6c 74 0a 76 61 6c 75 65 20 69 73 20 60 73 74 64 6f 75 74 27 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 ult.value.is.`stdout'.....File:.
9840 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 48 65 6c 70 2c 20 20 4e 65 78 74 3a 20 cloog.info,..Node:.Help,..Next:.
9860 56 65 72 73 69 6f 6e 2c 20 20 50 72 65 76 3a 20 4f 75 74 70 75 74 2c 20 20 55 70 3a 20 43 4c 6f Version,..Prev:.Output,..Up:.CLo
9880 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 31 33 20 48 65 6c 70 20 60 2d 2d 68 65 6c 70 27 oG.Options..2.4.13.Help.`--help'
98a0 20 6f 72 20 60 2d 68 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .or.`-h'.-----------------------
98c0 2d 2d 2d 2d 2d 0a 0a 60 2d 2d 68 65 6c 70 27 20 6f 72 20 60 2d 68 27 3a 20 74 68 69 73 20 6f 70 -----..`--help'.or.`-h':.this.op
98e0 74 69 6f 6e 20 61 73 6b 20 43 4c 6f 6f 47 20 74 6f 20 70 72 69 6e 74 20 61 20 73 68 6f 72 74 20 tion.ask.CLooG.to.print.a.short.
9900 68 65 6c 70 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 help.....File:.cloog.info,..Node
9920 3a 20 56 65 72 73 69 6f 6e 2c 20 20 50 72 65 76 3a 20 48 65 6c 70 2c 20 20 55 70 3a 20 43 4c 6f :.Version,..Prev:.Help,..Up:.CLo
9940 6f 47 20 4f 70 74 69 6f 6e 73 0a 0a 32 2e 34 2e 31 34 20 56 65 72 73 69 6f 6e 20 60 2d 2d 76 65 oG.Options..2.4.14.Version.`--ve
9960 72 73 69 6f 6e 27 20 6f 72 20 60 2d 76 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d rsion'.or.`-v'.-----------------
9980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 60 2d 2d 76 65 72 73 69 6f 6e 27 20 6f -----------------..`--version'.o
99a0 72 20 60 2d 76 27 3a 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 61 73 6b 20 43 4c 6f 6f 47 20 74 6f r.`-v':.this.option.ask.CLooG.to
99c0 20 70 72 69 6e 74 20 73 6f 6d 65 20 76 65 72 73 69 6f 6e 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 .print.some.version.informations
99e0 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 75 .....File:.cloog.info,..Node:.Fu
9a00 6c 6c 20 45 78 61 6d 70 6c 65 2c 20 20 50 72 65 76 3a 20 43 4c 6f 6f 47 20 4f 70 74 69 6f 6e 73 ll.Example,..Prev:.CLooG.Options
9a20 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 53 6f 66 74 77 61 72 65 0a 0a 32 2e 35 20 41 20 46 75 6c ,..Up:.CLooG.Software..2.5.A.Ful
9a40 6c 20 45 78 61 6d 70 6c 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4c 65 l.Example.==================..Le
9a60 74 20 75 73 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 70 72 6f t.us.consider.the.allocation.pro
9a80 62 6c 65 6d 20 6f 66 20 61 20 47 61 75 73 73 69 61 6e 20 65 6c 69 6d 69 6e 61 74 69 6f 6e 2c 20 blem.of.a.Gaussian.elimination,.
9aa0 69 2e 65 2e 0a 77 65 20 77 61 6e 74 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 76 i.e..we.want.to.distribute.the.v
9ac0 61 72 69 6f 75 73 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 74 68 arious.statement.instances.of.th
9ae0 65 20 63 6f 6d 70 75 74 65 0a 6b 65 72 6e 65 6c 20 6f 6e 74 6f 20 64 69 66 66 65 72 65 6e 74 20 e.compute.kernel.onto.different.
9b00 70 72 6f 63 65 73 73 6f 72 73 2e 20 54 68 65 20 6f 72 69 67 69 6e 61 6c 20 63 6f 64 65 20 69 73 processors..The.original.code.is
9b20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 31 3b 6a 3c .the.following:......for.(i=1;j<
9b40 3d 4e 2d 31 3b 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 69 2b 31 3b 6a 3c =N-1;i++).{........for.(j=i+1;j<
9b60 3d 4e 3b 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 63 5b 69 5d 5b 6a 5d 20 3d 20 61 5b 6a =N;j++).{..........c[i][j].=.a[j
9b80 5d 5b 69 5d 2f 61 5b 69 5d 5b 69 5d 20 3b 20 20 20 20 2f 2a 20 53 31 20 2a 2f 0a 20 20 20 20 20 ][i]/a[i][i].;..../*.S1.*/......
9ba0 20 20 20 20 66 6f 72 20 28 6b 3d 69 2b 31 3b 6b 3c 3d 4e 3b 6b 2b 2b 29 20 7b 0a 20 20 20 20 20 ....for.(k=i+1;k<=N;k++).{......
9bc0 20 20 20 20 20 20 61 5b 6a 5d 5b 6b 5d 20 2d 3d 20 63 5b 69 5d 5b 6a 5d 2a 61 5b 69 5d 5b 6b 5d ......a[j][k].-=.c[i][j]*a[i][k]
9be0 20 3b 20 2f 2a 20 53 32 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 7d 0a .;./*.S2.*/..........}........}.
9c00 20 20 20 20 20 7d 0a 0a 54 68 65 20 62 65 73 74 20 61 66 66 69 6e 65 20 61 6c 6c 6f 63 61 74 69 .....}..The.best.affine.allocati
9c20 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 62 79 20 61 6e 79 on.functions.can.be.found.by.any
9c40 20 67 6f 6f 64 20 61 75 74 6f 6d 61 74 69 63 0a 70 61 72 61 6c 6c 65 6c 69 7a 65 72 20 6c 69 6b .good.automatic.parallelizer.lik
9c60 65 20 4c 6f 6f 50 6f 20 28 2a 6e 6f 74 65 20 47 72 69 30 34 3a 3a 29 3a 0a 0a 20 20 20 20 20 54 e.LooPo.(*note.Gri04::):.......T
9c80 5f 53 31 28 69 2c 6a 29 5e 54 20 20 20 3d 20 28 69 29 0a 20 20 20 20 20 54 5f 53 32 28 69 2c 6a _S1(i,j)^T...=.(i)......T_S2(i,j
9ca0 2c 6b 29 5e 54 20 3d 20 28 6b 29 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 6f 6e 20 65 ,k)^T.=.(k)..To.ensure.that.on.e
9cc0 61 63 68 20 70 72 6f 63 65 73 73 6f 72 2c 20 74 68 65 20 73 65 74 20 6f 66 20 73 74 61 74 65 6d ach.processor,.the.set.of.statem
9ce0 65 6e 74 20 69 6e 73 74 61 6e 63 65 73 20 69 73 0a 65 78 65 63 75 74 65 64 20 61 63 63 6f 72 64 ent.instances.is.executed.accord
9d00 69 6e 67 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6f 72 64 65 72 69 6e 67 2c 20 77 65 ing.to.the.original.ordering,.we
9d20 20 61 64 64 20 61 73 20 6d 69 6e 6f 72 20 73 63 61 74 74 65 72 69 6e 67 0a 64 69 6d 65 6e 73 69 .add.as.minor.scattering.dimensi
9d40 6f 6e 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 73 63 68 65 64 75 6c 69 6e 67 20 28 2a 6e 6f ons.the.original.scheduling.(*no
9d60 74 65 20 53 63 61 74 74 65 72 69 6e 67 3a 3a 29 3a 0a 0a 20 20 20 20 20 54 5f 53 31 28 69 2c 6a te.Scattering::):.......T_S1(i,j
9d80 29 5e 54 20 20 20 3d 20 28 69 2c 30 2c 69 2c 30 2c 6a 2c 30 29 5e 54 0a 20 20 20 20 20 54 5f 53 )^T...=.(i,0,i,0,j,0)^T......T_S
9da0 32 28 69 2c 6a 2c 6b 29 5e 54 20 3d 20 28 6b 2c 30 2c 69 2c 30 2c 6a 2c 31 2c 6b 2c 30 29 5e 54 2(i,j,k)^T.=.(k,0,i,0,j,1,k,0)^T
9dc0 0a 0a 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 73 63 61 74 74 65 72 69 6e 67 20 ..To.ensure.that.the.scattering.
9de0 66 75 6e 63 74 69 6f 6e 73 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 64 69 6d 65 6e 73 69 6f functions.have.the.same.dimensio
9e00 6e 61 6c 69 74 79 2c 20 77 65 0a 63 6f 6d 70 6c 65 74 65 20 74 68 65 20 66 69 72 73 74 20 66 75 nality,.we.complete.the.first.fu
9e20 6e 63 74 69 6f 6e 20 77 69 74 68 20 7a 65 72 6f 65 73 20 28 74 68 69 73 20 69 73 20 61 20 43 4c nction.with.zeroes.(this.is.a.CL
9e40 6f 6f 47 20 20 61 6e 64 20 70 72 65 76 69 6f 75 73 0a 76 65 72 73 69 6f 6e 73 20 72 65 71 75 69 ooG..and.previous.versions.requi
9e60 72 65 6d 65 6e 74 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 rement,.it.should.be.removed.in.
9e80 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 2c 20 64 6f 6e 27 74 0a 77 6f 72 72 79 20 69 74 a.future.version,.don't.worry.it
9ea0 27 73 20 61 62 73 6f 6c 75 74 6c 79 20 6c 65 67 61 6c 20 21 29 3a 0a 0a 20 20 20 20 20 54 5f 53 's.absolutly.legal.!):.......T_S
9ec0 31 28 69 2c 6a 29 5e 54 20 20 20 3d 20 28 69 2c 30 2c 69 2c 30 2c 6a 2c 30 2c 30 2c 30 29 5e 54 1(i,j)^T...=.(i,0,i,0,j,0,0,0)^T
9ee0 0a 20 20 20 20 20 54 5f 53 32 28 69 2c 6a 2c 6b 29 5e 54 20 3d 20 28 6b 2c 30 2c 69 2c 30 2c 6a ......T_S2(i,j,k)^T.=.(k,0,i,0,j
9f00 2c 31 2c 6b 2c 30 29 5e 54 0a 0a 54 68 65 20 69 6e 70 75 74 20 66 69 6c 65 20 63 6f 72 72 65 73 ,1,k,0)^T..The.input.file.corres
9f20 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 69 73 20 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 ponding.to.this.code.generation.
9f40 70 72 6f 62 6c 65 6d 20 63 6f 75 6c 64 20 62 65 0a 28 74 68 69 73 20 66 69 6c 65 20 69 73 20 70 problem.could.be.(this.file.is.p
9f60 72 6f 76 69 64 65 64 20 69 6e 20 74 68 65 20 43 4c 6f 6f 47 20 64 69 73 74 72 69 62 75 74 69 6f rovided.in.the.CLooG.distributio
9f80 6e 20 61 73 0a 60 74 65 73 74 2f 6d 61 6e 75 61 6c 5f 67 61 75 73 73 2e 63 6c 6f 6f 67 27 3a 0a n.as.`test/manual_gauss.cloog':.
9fa0 0a 20 20 20 20 20 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 43 ......#.----------------------.C
9fc0 4f 4e 54 45 58 54 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 20 20 ONTEXT.----------------------...
9fe0 20 20 20 63 20 23 20 6c 61 6e 67 75 61 67 65 20 69 73 20 43 0a 0a 20 20 20 20 20 23 20 43 6f 6e ...c.#.language.is.C.......#.Con
a000 74 65 78 74 20 28 6e 6f 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 6f 6e 20 6f 6e 65 20 70 61 72 61 text.(no.constraints.on.one.para
a020 6d 65 74 65 72 29 0a 20 20 20 20 20 31 20 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 meter)......1.3.................
a040 20 20 20 20 23 20 31 20 6c 69 6e 65 20 61 6e 64 20 33 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 ....#.1.line.and.3.columns......
a060 23 20 65 71 2f 69 6e 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 30 20 20 30 20 20 #.eq/in.n..1..........1...0..0..
a080 20 20 20 20 20 20 20 20 20 20 23 20 30 20 3e 3d 20 30 2c 20 61 6c 77 61 79 73 20 74 72 75 65 0a ..........#.0.>=.0,.always.true.
a0a0 0a 20 20 20 20 20 31 20 23 20 57 65 20 77 61 6e 74 20 74 6f 20 73 65 74 20 6d 61 6e 75 61 6c 6c ......1.#.We.want.to.set.manuall
a0c0 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 0a 20 20 20 20 20 6e 20 20 20 20 20 y.the.parameter.name......n.....
a0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 70 61 72 61 6d 65 74 65 72 20 6e 61 ..................#.parameter.na
a100 6d 65 0a 0a 20 20 20 20 20 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d me.......#.---------------------
a120 20 53 54 41 54 45 4d 45 4e 54 53 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .STATEMENTS.--------------------
a140 0a 20 20 20 20 20 32 20 23 20 4e 75 6d 62 65 72 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 0a 0a ......2.#.Number.of.statements..
a160 20 20 20 20 20 31 20 23 20 46 69 72 73 74 20 73 74 61 74 65 6d 65 6e 74 3a 20 6f 6e 65 20 64 6f .....1.#.First.statement:.one.do
a180 6d 61 69 6e 0a 20 20 20 20 20 34 20 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 main......4.5...................
a1a0 20 20 23 20 34 20 6c 69 6e 65 73 20 61 6e 64 20 33 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 ..#.4.lines.and.3.columns......#
a1c0 20 65 71 2f 69 6e 20 69 20 20 6a 20 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 31 .eq/in.i..j..n..1..........1...1
a1e0 20 20 30 20 20 30 20 2d 31 20 20 20 20 20 20 23 20 69 20 3e 3d 20 31 0a 20 20 20 20 20 20 20 20 ..0..0.-1......#.i.>=.1.........
a200 20 31 20 20 2d 31 20 20 30 20 20 31 20 2d 31 20 20 20 20 20 20 23 20 69 20 3c 3d 20 6e 2d 31 0a .1..-1..0..1.-1......#.i.<=.n-1.
a220 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 31 20 20 30 20 2d 31 20 20 20 20 20 20 23 20 6a .........1..-1..1..0.-1......#.j
a240 20 3e 3d 20 69 2b 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 30 20 2d 31 20 20 31 20 20 30 20 .>=.i+1..........1...0.-1..1..0.
a260 20 20 20 20 20 23 20 6a 20 3c 3d 20 6e 0a 20 20 20 20 20 30 20 20 30 20 20 30 20 20 20 20 20 20 .....#.j.<=.n......0..0..0......
a280 20 20 20 20 20 20 20 20 20 20 20 23 20 66 6f 72 20 66 75 74 75 72 65 20 6f 70 74 69 6f 6e 73 0a ...........#.for.future.options.
a2a0 0a 20 20 20 20 20 31 0a 20 20 20 20 20 23 20 53 65 63 6f 6e 64 20 73 74 61 74 65 6d 65 6e 74 3a ......1......#.Second.statement:
a2c0 20 6f 6e 65 20 64 6f 6d 61 69 6e 0a 20 20 20 20 20 36 20 36 20 20 20 20 20 20 20 20 20 20 20 20 .one.domain......6.6............
a2e0 20 20 20 20 20 20 20 20 20 23 20 36 20 6c 69 6e 65 73 20 61 6e 64 20 33 20 63 6f 6c 75 6d 6e 73 .........#.6.lines.and.3.columns
a300 0a 20 20 20 20 20 23 20 65 71 2f 69 6e 20 69 20 20 6a 20 20 6b 20 20 6e 20 20 31 0a 20 20 20 20 ......#.eq/in.i..j..k..n..1.....
a320 20 20 20 20 20 31 20 20 20 31 20 20 30 20 20 30 20 20 30 20 2d 31 20 20 20 23 20 69 20 3e 3d 20 .....1...1..0..0..0.-1...#.i.>=.
a340 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 30 20 20 30 20 20 31 20 2d 31 20 20 20 23 1..........1..-1..0..0..1.-1...#
a360 20 69 20 3c 3d 20 6e 2d 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 2d 31 20 20 31 20 20 30 20 20 .i.<=.n-1..........1..-1..1..0..
a380 30 20 2d 31 20 20 20 23 20 6a 20 3e 3d 20 69 2b 31 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 30 0.-1...#.j.>=.i+1..........1...0
a3a0 20 2d 31 20 20 30 20 20 31 20 20 30 20 20 20 23 20 6a 20 3c 3d 20 6e 0a 20 20 20 20 20 20 20 20 .-1..0..1..0...#.j.<=.n.........
a3c0 20 31 20 20 2d 31 20 20 30 20 20 31 20 20 30 20 2d 31 20 20 20 23 20 6b 20 3e 3d 20 69 2b 31 0a .1..-1..0..1..0.-1...#.k.>=.i+1.
a3e0 20 20 20 20 20 20 20 20 20 31 20 20 20 30 20 20 30 20 2d 31 20 20 31 20 20 30 20 20 20 23 20 6b .........1...0..0.-1..1..0...#.k
a400 20 3c 3d 20 6e 0a 20 20 20 20 20 30 20 20 30 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .<=.n......0..0..0..............
a420 20 20 20 23 20 66 6f 72 20 66 75 74 75 72 65 20 6f 70 74 69 6f 6e 73 0a 0a 20 20 20 20 20 30 20 ...#.for.future.options.......0.
a440 23 20 57 65 20 6c 65 74 20 43 4c 6f 6f 47 20 73 65 74 20 74 68 65 20 69 74 65 72 61 74 6f 72 20 #.We.let.CLooG.set.the.iterator.
a460 6e 61 6d 65 73 0a 0a 20 20 20 20 20 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d names.......#.------------------
a480 2d 2d 2d 20 53 43 41 54 54 45 52 49 4e 47 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ---.SCATTERING.-----------------
a4a0 2d 2d 2d 0a 20 20 20 20 20 32 20 23 20 53 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e ---......2.#.Scattering.function
a4c0 73 0a 20 20 20 20 20 23 20 46 69 72 73 74 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 38 20 31 s......#.First.function......8.1
a4e0 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 33 20 6c 69 6e 65 73 20 61 3....................#.3.lines.a
a500 6e 64 20 33 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 20 65 71 2f 69 6e 20 70 31 20 70 32 20 nd.3.columns......#.eq/in.p1.p2.
a520 70 33 20 70 34 20 70 35 20 70 36 20 70 37 20 70 38 20 20 69 20 20 6a 20 20 6e 20 20 31 0a 20 20 p3.p4.p5.p6.p7.p8..i..j..n..1...
a540 20 20 20 20 20 20 20 30 20 20 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 .......0....1..0..0..0..0..0..0.
a560 20 30 20 2d 31 20 20 30 20 20 30 20 20 30 20 20 20 20 20 23 20 70 31 20 3d 20 69 0a 20 20 20 20 .0.-1..0..0..0.....#.p1.=.i.....
a580 20 20 20 20 20 30 20 20 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 .....0....0..1..0..0..0..0..0..0
a5a0 20 20 30 20 20 30 20 20 30 20 20 30 20 20 20 20 20 23 20 70 32 20 3d 20 30 0a 20 20 20 20 20 20 ..0..0..0..0.....#.p2.=.0.......
a5c0 20 20 20 30 20 20 20 20 30 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 2d ...0....0..0..1..0..0..0..0..0.-
a5e0 31 20 20 30 20 20 30 20 20 30 20 20 20 20 20 23 20 70 33 20 3d 20 69 0a 20 20 20 20 20 20 20 20 1..0..0..0.....#.p3.=.i.........
a600 20 30 20 20 20 20 30 20 20 30 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 .0....0..0..0..1..0..0..0..0..0.
a620 20 30 20 20 30 20 20 30 20 20 20 20 20 23 20 70 34 20 3d 20 30 0a 20 20 20 20 20 20 20 20 20 30 .0..0..0.....#.p4.=.0..........0
a640 20 20 20 20 30 20 20 30 20 20 30 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 2d 31 ....0..0..0..0..1..0..0..0..0.-1
a660 20 20 30 20 20 30 20 20 20 20 20 23 20 70 35 20 3d 20 6a 0a 20 20 20 20 20 20 20 20 20 30 20 20 ..0..0.....#.p5.=.j..........0..
a680 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 20 ..0..0..0..0..0..1..0..0..0..0..
a6a0 30 20 20 30 20 20 20 20 20 23 20 70 36 20 3d 20 30 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 0..0.....#.p6.=.0..........0....
a6c0 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 0..0..0..0..0..0..1..0..0..0..0.
a6e0 20 30 20 20 20 20 20 23 20 70 37 20 3d 20 30 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 .0.....#.p7.=.0..........0....0.
a700 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 .0..0..0..0..0..0..1..0..0..0..0
a720 20 20 20 20 20 23 20 70 38 20 3d 20 30 0a 20 20 20 20 20 23 20 53 65 63 6f 6e 64 20 66 75 6e 63 .....#.p8.=.0......#.Second.func
a740 74 69 6f 6e 0a 20 20 20 20 20 38 20 31 34 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion......8.14..................
a760 20 20 23 20 33 20 6c 69 6e 65 73 20 61 6e 64 20 33 20 63 6f 6c 75 6d 6e 73 0a 20 20 20 20 20 23 ..#.3.lines.and.3.columns......#
a780 20 65 71 2f 69 6e 20 70 31 20 70 32 20 70 33 20 70 34 20 70 35 20 70 36 20 70 37 20 70 38 20 20 .eq/in.p1.p2.p3.p4.p5.p6.p7.p8..
a7a0 69 20 20 6a 20 20 6b 20 20 6e 20 20 31 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 31 20 20 30 i..j..k..n..1..........0....1..0
a7c0 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 2d 31 20 20 30 20 20 ..0..0..0..0..0..0..0..0.-1..0..
a7e0 30 20 20 23 20 70 31 20 3d 20 6b 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 31 20 20 0..#.p1.=.k..........0....0..1..
a800 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 0..0..0..0..0..0..0..0..0..0..0.
a820 20 23 20 70 32 20 3d 20 30 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 30 20 20 31 20 .#.p2.=.0..........0....0..0..1.
a840 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 2d 31 20 20 30 20 20 30 20 20 30 20 20 30 20 20 23 .0..0..0..0..0.-1..0..0..0..0..#
a860 20 70 33 20 3d 20 69 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 30 20 20 30 20 20 31 .p3.=.i..........0....0..0..0..1
a880 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 23 20 70 ..0..0..0..0..0..0..0..0..0..#.p
a8a0 34 20 3d 20 30 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 30 20 20 30 20 20 30 20 20 4.=.0..........0....0..0..0..0..
a8c0 31 20 20 30 20 20 30 20 20 30 20 20 30 20 2d 31 20 20 30 20 20 30 20 20 30 20 20 23 20 70 35 20 1..0..0..0..0.-1..0..0..0..#.p5.
a8e0 3d 20 6a 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 =.j..........0....0..0..0..0..0.
a900 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 2d 31 20 20 23 20 70 36 20 3d 20 .1..0..0..0..0..0..0.-1..#.p6.=.
a920 31 0a 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 1..........0....0..0..0..0..0..0
a940 20 20 31 20 20 30 20 20 30 20 20 30 20 2d 31 20 20 30 20 20 30 20 20 23 20 70 37 20 3d 20 6b 0a ..1..0..0..0.-1..0..0..#.p7.=.k.
a960 20 20 20 20 20 20 20 20 20 30 20 20 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 .........0....0..0..0..0..0..0..
a980 30 20 20 31 20 20 30 20 20 30 20 20 30 20 20 30 20 20 30 20 20 23 20 70 38 20 3d 20 30 0a 0a 20 0..1..0..0..0..0..0..#.p8.=.0...
a9a0 20 20 20 20 31 20 23 20 57 65 20 77 61 6e 74 20 74 6f 20 73 65 74 20 6d 61 6e 75 61 6c 6c 79 20 ....1.#.We.want.to.set.manually.
a9c0 74 68 65 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 61 6d 65 73 0a 20 the.scattering.dimension.names..
a9e0 20 20 20 20 70 31 20 70 32 20 70 33 20 70 34 20 70 35 20 70 36 20 70 37 20 70 38 20 23 20 73 63 ....p1.p2.p3.p4.p5.p6.p7.p8.#.sc
aa00 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 61 6d 65 73 0a 0a 20 20 20 43 61 6c attering.dimension.names.....Cal
aa20 6c 69 6e 67 20 43 4c 6f 6f 47 2c 20 77 69 74 68 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 20 74 68 ling.CLooG,.with.for.instance.th
aa40 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 60 63 6c 6f 6f 67 20 2d 66 73 70 20 32 0a 67 61 75 e.command.line.`cloog.-fsp.2.gau
aa60 73 73 2e 63 6c 6f 6f 67 27 20 66 6f 72 20 61 20 62 65 74 74 65 72 20 76 69 65 77 20 6f 66 20 74 ss.cloog'.for.a.better.view.of.t
aa80 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 28 74 68 65 20 70 72 6f 63 65 73 73 6f 72 20 6e 75 6d he.allocation.(the.processor.num
aaa0 62 65 72 0a 69 73 20 67 69 76 65 6e 20 62 79 20 60 70 31 27 29 2c 20 77 69 6c 6c 20 72 65 73 75 ber.is.given.by.`p1'),.will.resu
aac0 6c 74 20 6f 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 72 67 65 74 20 63 6f 64 65 20 lt.on.the.following.target.code.
aae0 74 68 61 74 0a 61 63 74 75 61 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 74 72 61 that.actually.implements.the.tra
ab00 6e 73 66 6f 72 6d 61 74 69 6f 6e 2e 20 41 20 6d 69 6e 6f 72 20 70 72 6f 63 65 73 73 69 6e 67 20 nsformation..A.minor.processing.
ab20 6f 6e 20 74 68 65 0a 64 69 6d 65 6e 73 69 6f 6e 20 60 70 31 27 20 74 6f 20 69 6d 70 6c 65 6d 65 on.the.dimension.`p1'.to.impleme
ab40 6e 74 2c 20 65 2e 67 2e 2c 20 4d 50 49 20 63 61 6c 6c 73 2c 20 77 68 69 63 68 20 69 73 20 6e 6f nt,.e.g.,.MPI.calls,.which.is.no
ab60 74 20 73 68 6f 77 6e 20 68 65 72 65 0a 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 64 72 61 6d 61 t.shown.here.may.result.in.drama
ab80 74 69 63 20 73 70 65 65 64 75 70 73 20 21 0a 0a 20 20 20 20 20 69 66 20 28 6e 20 3e 3d 20 32 29 tic.speedups.!.......if.(n.>=.2)
aba0 20 7b 0a 20 20 20 20 20 20 20 70 31 20 3d 20 31 20 3b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 70 .{........p1.=.1.;........for.(p
abc0 35 3d 32 3b 70 35 3c 3d 6e 3b 70 35 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 31 28 69 20 5=2;p5<=n;p5++).{..........S1(i.
abe0 3d 20 31 2c 6a 20 3d 20 70 35 29 20 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 20 20 =.1,j.=.p5).;........}......}...
ac00 20 20 20 66 6f 72 20 28 70 31 3d 32 3b 70 31 3c 3d 6e 2d 31 3b 70 31 2b 2b 29 20 7b 0a 20 20 20 ...for.(p1=2;p1<=n-1;p1++).{....
ac20 20 20 20 20 66 6f 72 20 28 70 33 3d 31 3b 70 33 3c 3d 70 31 2d 31 3b 70 33 2b 2b 29 20 7b 0a 20 ....for.(p3=1;p3<=p1-1;p3++).{..
ac40 20 20 20 20 20 20 20 20 66 6f 72 20 28 70 35 3d 70 33 2b 31 3b 70 35 3c 3d 6e 3b 70 35 2b 2b 29 ........for.(p5=p3+1;p5<=n;p5++)
ac60 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 53 32 28 69 20 3d 20 70 33 2c 6a 20 3d 20 70 35 2c 6b .{............S2(i.=.p3,j.=.p5,k
ac80 20 3d 20 70 31 29 20 3b 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 .=.p1).;..........}........}....
aca0 20 20 20 20 66 6f 72 20 28 70 35 3d 70 31 2b 31 3b 70 35 3c 3d 6e 3b 70 35 2b 2b 29 20 7b 0a 20 ....for.(p5=p1+1;p5<=n;p5++).{..
acc0 20 20 20 20 20 20 20 20 53 31 28 69 20 3d 20 70 31 2c 6a 20 3d 20 70 35 29 20 3b 0a 20 20 20 20 ........S1(i.=.p1,j.=.p5).;.....
ace0 20 20 20 7d 0a 20 20 20 20 20 7d 0a 20 20 20 20 20 69 66 20 28 6e 20 3e 3d 20 32 29 20 7b 0a 20 ...}......}......if.(n.>=.2).{..
ad00 20 20 20 20 20 20 70 31 20 3d 20 6e 20 3b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 70 33 3d 31 3b ......p1.=.n.;........for.(p3=1;
ad20 70 33 3c 3d 6e 2d 31 3b 70 33 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 70 35 p3<=n-1;p3++).{..........for.(p5
ad40 3d 70 33 2b 31 3b 70 35 3c 3d 6e 3b 70 35 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 53 =p3+1;p5<=n;p5++).{............S
ad60 32 28 69 20 3d 20 70 33 2c 6a 20 3d 20 70 35 2c 6b 20 3d 20 6e 29 20 3b 0a 20 20 20 20 20 20 20 2(i.=.p3,j.=.p5,k.=.n).;........
ad80 20 20 7d 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f ..}........}......}....File:.clo
ada0 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 4c 6f 6f 47 20 4c 69 62 72 61 72 79 2c 20 20 og.info,..Node:.CLooG.Library,..
adc0 4e 65 78 74 3a 20 49 6e 73 74 61 6c 6c 69 6e 67 2c 20 20 50 72 65 76 3a 20 43 4c 6f 6f 47 20 53 Next:.Installing,..Prev:.CLooG.S
ade0 6f 66 74 77 61 72 65 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 20 55 73 69 6e 67 20 74 68 65 20 43 oftware,..Up:.Top..3.Using.the.C
ae00 4c 6f 6f 47 20 4c 69 62 72 61 72 79 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a LooG.Library.*******************
ae20 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 43 4c 6f 6f 47 20 4c 69 62 72 61 72 79 20 77 61 73 20 69 6d ******..The.CLooG.Library.was.im
ae40 70 6c 65 6d 65 6e 74 65 64 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 72 20 74 6f 20 63 plemented.to.allow.the.user.to.c
ae60 61 6c 6c 20 43 4c 6f 6f 47 0a 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 68 69 73 20 70 72 6f 67 all.CLooG.directly.from.his.prog
ae80 72 61 6d 73 2c 20 77 69 74 68 6f 75 74 20 66 69 6c 65 20 61 63 63 65 73 73 65 73 20 6f 72 20 73 rams,.without.file.accesses.or.s
aea0 79 73 74 65 6d 20 63 61 6c 6c 73 2e 20 54 68 65 0a 75 73 65 72 20 6f 6e 6c 79 20 6e 65 65 64 73 ystem.calls..The.user.only.needs
aec0 20 74 6f 20 6c 69 6e 6b 20 68 69 73 20 70 72 6f 67 72 61 6d 73 20 77 69 74 68 20 43 20 6c 69 62 .to.link.his.programs.with.C.lib
aee0 72 61 72 69 65 73 2e 20 54 68 65 20 43 4c 6f 6f 47 0a 6c 69 62 72 61 72 79 20 6d 61 69 6e 6c 79 raries..The.CLooG.library.mainly
af00 20 70 72 6f 76 69 64 65 73 20 6f 6e 65 20 66 75 6e 63 74 69 6f 6e 20 28 60 63 6c 6f 6f 67 5f 70 .provides.one.function.(`cloog_p
af20 72 6f 67 72 61 6d 5f 67 65 6e 65 72 61 74 65 27 29 20 77 68 69 63 68 0a 74 61 6b 65 73 20 61 73 rogram_generate').which.takes.as
af40 20 69 6e 70 75 74 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 64 65 73 63 72 69 70 74 69 6f 6e 20 77 .input.the.problem.description.w
af60 69 74 68 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 0a 74 68 ith.some.options,.and.returns.th
af80 65 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 e.data.structure.corresponding.t
afa0 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 28 61 0a 60 43 6c 6f 6f 67 50 72 o.the.generated.code.(a.`CloogPr
afc0 6f 67 72 61 6d 27 20 73 74 72 75 63 74 75 72 65 29 20 77 68 69 63 68 20 69 73 20 6d 6f 72 65 20 ogram'.structure).which.is.more.
afe0 6f 72 20 6c 65 73 73 20 61 6e 20 61 62 73 74 72 61 63 74 20 73 79 6e 74 61 78 20 74 72 65 65 2e or.less.an.abstract.syntax.tree.
b000 0a 54 68 65 20 75 73 65 72 20 63 61 6e 20 77 6f 72 6b 20 77 69 74 68 20 74 68 69 73 20 64 61 74 .The.user.can.work.with.this.dat
b020 61 20 73 74 72 75 63 74 75 72 65 20 61 6e 64 2f 6f 72 20 75 73 65 20 6f 75 72 20 70 72 65 74 74 a.structure.and/or.use.our.prett
b040 79 0a 70 72 69 6e 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 77 72 69 74 65 20 74 68 65 y.printing.function.to.write.the
b060 20 66 69 6e 61 6c 20 63 6f 64 65 20 69 6e 20 65 69 74 68 65 72 20 43 20 6f 72 20 46 4f 52 54 52 .final.code.in.either.C.or.FORTR
b080 41 4e 2e 20 20 53 6f 6d 65 0a 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 70 72 AN...Some.other.functions.are.pr
b0a0 6f 76 69 64 65 64 20 66 6f 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 72 65 61 73 6f 6e 73 2e 20 ovided.for.convenience.reasons..
b0c0 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 0a 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 20 .These.functions.as.well.as.the.
b0e0 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 61 72 65 20 64 65 73 63 72 69 62 65 64 20 69 6e data.structures.are.described.in
b100 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 43 4c 6f 6f 47 .this.section...*.Menu:..*.CLooG
b120 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 3a 3a 0a 2a 20 43 4c 6f 6f 47 20 46 75 6e 63 74 .Data.Structures::.*.CLooG.Funct
b140 69 6f 6e 73 3a 3a 0a 2a 20 45 78 61 6d 70 6c 65 20 6f 66 20 4c 69 62 72 61 72 79 20 55 74 69 6c ions::.*.Example.of.Library.Util
b160 69 7a 61 74 69 6f 6e 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 ization::....File:.cloog.info,..
b180 4e 6f 64 65 3a 20 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 2c 20 20 4e 65 Node:.CLooG.Data.Structures,..Ne
b1a0 78 74 3a 20 43 4c 6f 6f 47 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 xt:.CLooG.Functions,..Up:.CLooG.
b1c0 4c 69 62 72 61 72 79 0a 0a 33 2e 31 20 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 Library..3.1.CLooG.Data.Structur
b1e0 65 73 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d es.Description.=================
b200 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 6e 20 74 68 69 73 20 73 65 ====================..In.this.se
b220 63 74 69 6f 6e 2c 20 77 65 20 64 65 73 63 72 69 62 65 20 74 68 65 20 64 61 74 61 20 73 74 72 75 ction,.we.describe.the.data.stru
b240 63 74 75 72 65 73 20 75 73 65 64 20 62 79 20 74 68 65 20 6c 6f 6f 70 0a 67 65 6e 65 72 61 74 6f ctures.used.by.the.loop.generato
b260 72 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 61 6e 64 20 74 6f 20 70 72 6f 63 65 73 73 20 61 20 r.to.represent.and.to.process.a.
b280 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 70 72 6f 62 6c 65 6d 2e 0a 0a 2a 20 4d 65 6e 75 code.generation.problem...*.Menu
b2a0 3a 0a 0a 2a 20 43 6c 6f 6f 67 4d 61 74 72 69 78 3a 3a 0a 2a 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e :..*.CloogMatrix::.*.CloogDomain
b2c0 3a 3a 0a 2a 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 4c 69 73 74 3a 3a 0a 2a 20 43 6c 6f 6f 67 53 74 ::.*.CloogDomainList::.*.CloogSt
b2e0 61 74 65 6d 65 6e 74 3a 3a 0a 2a 20 43 6c 6f 6f 67 42 6c 6f 63 6b 3a 3a 0a 2a 20 43 6c 6f 6f 67 atement::.*.CloogBlock::.*.Cloog
b300 42 6c 6f 63 6b 4c 69 73 74 3a 3a 0a 2a 20 43 6c 6f 6f 67 4c 6f 6f 70 3a 3a 0a 2a 20 43 6c 6f 6f BlockList::.*.CloogLoop::.*.Cloo
b320 67 4e 61 6d 65 73 3a 3a 0a 2a 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 3a 3a 0a 2a 20 43 6c 6f 6f gNames::.*.CloogProgram::.*.Cloo
b340 67 4f 70 74 69 6f 6e 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 gOptions::....File:.cloog.info,.
b360 20 4e 6f 64 65 3a 20 43 6c 6f 6f 67 4d 61 74 72 69 78 2c 20 20 4e 65 78 74 3a 20 43 6c 6f 6f 67 .Node:.CloogMatrix,..Next:.Cloog
b380 44 6f 6d 61 69 6e 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 Domain,..Up:.CLooG.Data.Structur
b3a0 65 73 0a 0a 33 2e 31 2e 31 20 43 6c 6f 6f 67 4d 61 74 72 69 78 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d es..3.1.1.CloogMatrix.----------
b3c0 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 23 64 65 66 69 6e 65 20 43 6c 6f 6f 67 4d 61 74 72 69 -------.......#define.CloogMatri
b3e0 78 20 4d 61 74 72 69 78 0a 0a 54 68 65 20 60 43 6c 6f 6f 67 4d 61 74 72 69 78 27 20 73 74 72 75 x.Matrix..The.`CloogMatrix'.stru
b400 63 74 75 72 65 20 69 73 20 64 69 72 65 63 74 6c 79 20 74 68 65 20 50 6f 6c 79 4c 69 62 20 60 4d cture.is.directly.the.PolyLib.`M
b420 61 74 72 69 78 27 20 64 61 74 61 0a 73 74 72 75 63 74 75 72 65 20 28 2a 6e 6f 74 65 20 57 69 6c atrix'.data.structure.(*note.Wil
b440 39 33 3a 3a 29 2e 20 54 68 69 73 20 73 74 72 75 63 74 75 72 65 20 69 73 20 64 65 76 6f 74 65 64 93::)..This.structure.is.devoted
b460 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 61 20 73 65 74 0a 6f 66 20 63 6f 6e 73 74 72 61 69 6e .to.represent.a.set.of.constrain
b480 74 73 2e 20 49 74 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 60 70 6f 6c 79 6c 69 62 2f 74 79 ts..It.is.defined.in.`polylib/ty
b4a0 70 65 73 2e 68 27 20 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 20 73 pes.h'.as.the.following:.......s
b4c0 74 72 75 63 74 20 6d 61 74 72 69 78 0a 20 20 20 20 20 7b 20 75 6e 73 69 67 6e 65 64 20 4e 62 52 truct.matrix......{.unsigned.NbR
b4e0 6f 77 73 20 3b 20 20 20 20 2f 2a 20 4e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 2e 20 2a 2f 0a 20 ows.;..../*.Number.of.rows..*/..
b500 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 4e 62 43 6f 6c 75 6d 6e 73 20 3b 20 2f 2a 20 4e 75 ......unsigned.NbColumns.;./*.Nu
b520 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 56 61 6c 75 65 mber.of.columns..*/........Value
b540 20 2a 2a 20 70 20 3b 20 20 20 20 20 20 20 20 20 2f 2a 20 41 72 72 61 79 20 6f 66 20 70 6f 69 6e .**.p.;........./*.Array.of.poin
b560 74 65 72 73 20 74 6f 20 74 68 65 20 6d 61 74 72 69 78 20 72 6f 77 73 2e 20 2a 2f 0a 20 20 20 20 ters.to.the.matrix.rows..*/.....
b580 20 20 20 56 61 6c 75 65 20 2a 20 70 5f 49 6e 69 74 20 3b 20 20 20 20 20 2f 2a 20 4d 61 74 72 69 ...Value.*.p_Init.;...../*.Matri
b5a0 78 20 72 6f 77 73 20 63 6f 6e 74 69 67 75 6f 75 73 6c 79 20 69 6e 20 6d 65 6d 6f 72 79 2e 20 2a x.rows.contiguously.in.memory..*
b5c0 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 70 5f 49 6e 69 74 5f 73 69 7a 65 20 3b 20 20 20 20 2f 2a /........int.p_Init_size.;..../*
b5e0 20 46 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 2e 20 2a 2f 0a 20 20 20 20 20 7d 0a 20 20 20 .For.internal.use..*/......}....
b600 20 20 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 6d 61 74 72 69 78 20 4d 61 74 72 69 78 3b 0a ..typedef.struct.matrix.Matrix;.
b620 0a 54 68 65 20 77 68 6f 6c 65 20 6d 61 74 72 69 78 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 6d .The.whole.matrix.is.stored.in.m
b640 65 6d 6f 72 79 20 72 6f 77 20 61 66 74 65 72 20 72 6f 77 20 61 74 20 74 68 65 20 60 70 5f 49 6e emory.row.after.row.at.the.`p_In
b660 69 74 27 0a 61 64 64 72 65 73 73 2e 20 60 70 27 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 it'.address..`p'.is.an.array.of.
b680 70 6f 69 6e 74 65 72 73 20 77 68 65 72 65 20 60 70 5b 69 5d 27 20 70 6f 69 6e 74 73 20 74 6f 20 pointers.where.`p[i]'.points.to.
b6a0 74 68 65 20 66 69 72 73 74 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 69 5e 74 68 20 72 6f the.first.element.of.the.i^th.ro
b6c0 77 2e 20 20 60 4e 62 52 6f 77 73 27 20 61 6e 64 20 60 4e 62 43 6f 6c 75 6d 6e 73 27 20 61 72 65 w...`NbRows'.and.`NbColumns'.are
b6e0 20 72 65 73 70 65 63 74 69 76 65 6c 79 20 74 68 65 0a 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 .respectively.the.number.of.rows
b700 20 61 6e 64 20 63 6f 6c 75 6d 6e 73 20 6f 66 20 74 68 65 20 6d 61 74 72 69 78 2e 20 20 45 61 63 .and.columns.of.the.matrix...Eac
b720 68 20 72 6f 77 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 0a 63 6f 6e 73 74 72 61 69 6e h.row.corresponds.to.a.constrain
b740 74 2e 20 54 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 65 61 63 68 20 72 6f 77 t..The.first.element.of.each.row
b760 20 69 73 20 61 6e 20 65 71 75 61 6c 69 74 79 2f 69 6e 65 71 75 61 6c 69 74 79 0a 74 61 67 2e 20 .is.an.equality/inequality.tag..
b780 54 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 69 73 20 61 6e 20 65 71 75 61 6c 69 74 79 20 70 28 The.constraint.is.an.equality.p(
b7a0 78 29 20 3d 20 30 20 69 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 30 x).=.0.if.the.first.element.is.0
b7c0 2c 0a 62 75 74 20 69 74 20 69 73 20 61 6e 20 69 6e 65 71 75 61 6c 69 74 79 20 70 28 78 29 20 5c ,.but.it.is.an.inequality.p(x).\
b7e0 67 65 71 20 30 20 69 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 31 2e geq.0.if.the.first.element.is.1.
b800 20 20 54 68 65 0a 6e 65 78 74 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 75 6e 6b 6e ..The.next.elements.are.the.unkn
b820 6f 77 6e 20 63 6f 65 66 66 69 63 69 65 6e 74 73 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 own.coefficients,.followed.by.th
b840 65 20 70 61 72 61 6d 65 74 65 72 0a 63 6f 65 66 66 69 63 69 65 6e 74 73 2c 20 74 68 65 6e 20 74 e.parameter.coefficients,.then.t
b860 68 65 20 73 63 61 6c 61 72 20 63 6f 65 66 66 69 63 69 65 6e 74 2e 20 20 46 6f 72 20 69 6e 73 74 he.scalar.coefficient...For.inst
b880 61 6e 63 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 74 68 72 65 65 20 63 6f 6e 73 74 72 ance,.the.following.three.constr
b8a0 61 69 6e 74 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 2d 69 20 2b 20 6d 20 20 3d 20 30 0a 20 20 20 aints:...........-i.+.m..=.0....
b8c0 20 20 20 20 20 20 2d 6a 20 2b 20 6e 20 3e 3d 20 30 0a 20 20 20 20 20 20 69 20 2b 20 6a 20 2d 20 ......-j.+.n.>=.0.......i.+.j.-.
b8e0 6b 20 3e 3d 20 30 0a 0a 77 6f 75 6c 64 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 k.>=.0..would.be.represented.by.
b900 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 77 73 3a 0a 0a 20 20 20 20 20 23 20 65 71 2f 69 the.following.rows:.......#.eq/i
b920 6e 20 20 69 20 20 20 6a 20 20 20 6b 20 20 20 6d 20 20 20 6e 20 20 20 63 73 74 0a 20 20 20 20 20 n..i...j...k...m...n...cst......
b940 20 20 20 20 30 20 20 20 20 30 20 20 2d 31 20 20 20 30 20 20 20 31 20 20 20 30 20 20 20 20 30 0a ....0....0..-1...0...1...0....0.
b960 20 20 20 20 20 20 20 20 20 31 20 20 20 2d 31 20 20 20 30 20 20 20 30 20 20 20 30 20 20 20 31 20 .........1...-1...0...0...0...1.
b980 20 20 20 30 0a 20 20 20 20 20 20 20 20 20 31 20 20 20 20 31 20 20 20 31 20 20 2d 31 20 20 20 30 ...0..........1....1...1..-1...0
b9a0 20 20 20 30 20 20 20 20 30 0a 0a 54 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 ...0....0..To.be.able.to.provide
b9c0 20 64 69 66 66 65 72 65 6e 74 20 70 72 65 63 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e 20 28 43 4c .different.precision.version.(CL
b9e0 6f 6f 47 20 73 75 70 70 6f 72 74 73 20 33 32 0a 62 69 74 73 2c 20 36 34 20 62 69 74 73 20 61 6e ooG.supports.32.bits,.64.bits.an
ba00 64 20 61 72 62 69 74 72 61 72 79 20 70 72 65 63 69 73 69 6f 6e 20 74 68 72 6f 75 67 68 20 74 68 d.arbitrary.precision.through.th
ba20 65 20 47 4d 50 20 6c 69 62 72 61 72 79 29 2c 20 74 68 65 0a 60 56 61 6c 75 65 27 20 74 79 70 65 e.GMP.library),.the.`Value'.type
ba40 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 70 .depends.on.the.configuration.op
ba60 74 69 6f 6e 73 20 28 69 74 20 6d 61 79 20 62 65 20 60 6c 6f 6e 67 20 69 6e 74 27 0a 66 6f 72 20 tions.(it.may.be.`long.int'.for.
ba80 33 32 20 62 69 74 73 20 76 65 72 73 69 6f 6e 2c 20 60 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 27 32.bits.version,.`long.long.int'
baa0 20 66 6f 72 20 36 34 20 62 69 74 73 20 76 65 72 73 69 6f 6e 2c 20 61 6e 64 20 60 6d 70 7a 5f 74 .for.64.bits.version,.and.`mpz_t
bac0 27 0a 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e '.for.multiple.precision.version
bae0 29 2e 20 20 54 68 65 20 60 70 5f 49 6e 69 74 5f 73 69 7a 65 27 20 66 69 65 6c 64 20 69 73 20 6e )...The.`p_Init_size'.field.is.n
bb00 65 65 64 65 64 20 62 79 0a 74 68 65 20 50 6f 6c 79 4c 69 62 20 74 6f 20 66 72 65 65 20 74 68 65 eeded.by.the.PolyLib.to.free.the
bb20 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 62 79 20 60 6d 70 7a 5f 69 6e 69 74 27 20 .memory.allocated.by.`mpz_init'.
bb40 69 6e 20 74 68 65 20 6d 75 6c 74 69 70 6c 65 0a 70 72 65 63 69 73 69 6f 6e 20 72 65 6c 65 61 73 in.the.multiple.precision.releas
bb60 65 2e 20 20 53 65 74 20 74 68 69 73 20 66 69 65 6c 64 20 74 6f 20 30 20 69 66 20 79 6f 75 20 61 e...Set.this.field.to.0.if.you.a
bb80 72 65 20 5f 6e 6f 74 5f 20 75 73 69 6e 67 20 6d 75 6c 74 69 70 6c 65 0a 70 72 65 63 69 73 69 6f re._not_.using.multiple.precisio
bba0 6e 2e 20 20 53 65 74 20 74 68 69 73 20 66 69 65 6c 64 20 74 6f 20 74 68 65 20 73 69 7a 65 20 6f n...Set.this.field.to.the.size.o
bbc0 66 20 74 68 65 20 60 70 5f 49 6e 69 74 27 20 61 72 72 61 79 20 69 66 20 79 6f 75 0a 69 6e 69 74 f.the.`p_Init'.array.if.you.init
bbe0 69 61 6c 69 7a 65 64 20 69 74 20 79 6f 75 72 73 65 6c 66 20 61 6e 64 20 69 66 20 79 6f 75 20 61 ialized.it.yourself.and.if.you.a
bc00 72 65 20 75 73 69 6e 67 20 74 68 65 20 6d 75 6c 74 69 70 6c 65 20 70 72 65 63 69 73 69 6f 6e 0a re.using.the.multiple.precision.
bc20 76 65 72 73 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e version.....File:.cloog.info,..N
bc40 6f 64 65 3a 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 2c 20 20 4e 65 78 74 3a 20 43 6c 6f 6f 67 44 6f ode:.CloogDomain,..Next:.CloogDo
bc60 6d 61 69 6e 4c 69 73 74 2c 20 20 50 72 65 76 3a 20 43 6c 6f 6f 67 4d 61 74 72 69 78 2c 20 20 55 mainList,..Prev:.CloogMatrix,..U
bc80 70 3a 20 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 0a 0a 33 2e 31 2e 32 20 p:.CLooG.Data.Structures..3.1.2.
bca0 43 6c 6f 6f 67 44 6f 6d 61 69 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 CloogDomain.-----------------...
bcc0 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 64 6f 6d 61 69 6e 0a 20 20 20 20 20 7b 20 50 6f ....struct.cloogdomain......{.Po
bce0 6c 79 68 65 64 72 6f 6e 20 2a 20 70 6f 6c 79 68 65 64 72 6f 6e 20 3b 20 20 2f 2a 20 54 68 65 20 lyhedron.*.polyhedron.;../*.The.
bd00 70 6f 6c 79 68 65 64 72 61 6c 20 64 6f 6d 61 69 6e 2e 20 2a 2f 0a 20 20 20 20 20 7d 20 3b 0a 20 polyhedral.domain..*/......}.;..
bd20 20 20 20 20 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 64 6f 6d 61 69 6e 20 43 ....typedef.struct.cloogdomain.C
bd40 6c 6f 6f 67 44 6f 6d 61 69 6e 20 3b 0a 0a 54 68 65 20 60 43 6c 6f 6f 67 44 6f 6d 61 69 6e 27 20 loogDomain.;..The.`CloogDomain'.
bd60 73 74 72 75 63 74 75 72 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 50 6f 6c 79 4c 69 62 20 60 50 6f structure.contains.a.PolyLib.`Po
bd80 6c 79 68 65 64 72 6f 6e 27 20 64 61 74 61 0a 73 74 72 75 63 74 75 72 65 20 77 68 69 63 68 20 72 lyhedron'.data.structure.which.r
bda0 65 70 72 65 73 65 6e 74 73 20 61 20 70 6f 6c 79 68 65 64 72 61 6c 20 64 6f 6d 61 69 6e 20 28 61 epresents.a.polyhedral.domain.(a
bdc0 20 75 6e 69 6f 6e 20 6f 66 20 70 6f 6c 79 68 65 64 72 61 29 0a 69 6e 20 62 6f 74 68 20 63 6f 6e .union.of.polyhedra).in.both.con
bde0 73 74 72 61 69 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 6e 64 20 69 74 73 20 64 straint.representation.and.its.d
be00 75 61 6c 20 72 61 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 28 2a 6e 6f 74 65 20 57 69 ual.ray.representation.(*note.Wi
be20 6c 39 33 3a 3a 29 2e 20 20 49 74 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 60 70 6f 6c 79 6c l93::)...It.is.defined.in.`polyl
be40 69 62 2f 74 79 70 65 73 2e 68 27 20 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 ib/types.h'.as.the.following:...
be60 20 20 20 20 73 74 72 75 63 74 20 70 6f 6c 79 68 65 64 72 6f 6e 0a 20 20 20 20 20 7b 20 75 6e 73 ....struct.polyhedron......{.uns
be80 69 67 6e 65 64 20 44 69 6d 65 6e 73 69 6f 6e 2c 20 20 20 20 20 20 20 20 2f 2a 20 4e 75 6d 62 65 igned.Dimension,......../*.Numbe
bea0 72 20 6f 66 20 64 69 6d 65 6e 73 69 6f 6e 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 r.of.dimensions..*/.............
bec0 20 20 20 20 4e 62 43 6f 6e 73 74 72 61 69 6e 74 73 2c 20 20 20 20 2f 2a 20 4e 75 6d 62 65 72 20 ....NbConstraints,..../*.Number.
bee0 6f 66 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 of.constraints..*/..............
bf00 20 20 20 4e 62 52 61 79 73 2c 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 4e 75 6d 62 65 72 20 6f ...NbRays,.........../*.Number.o
bf20 66 20 72 61 79 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 62 45 71 2c f.rays..*/.................NbEq,
bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 4e 75 6d 62 65 72 20 6f 66 20 76 65 72 74 69 63 ............./*.Number.of.vertic
bf60 65 73 20 28 3f 29 2e 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 62 42 69 64 es.(?)..*/.................NbBid
bf80 20 3b 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 4e 75 6d 62 65 72 20 6f 66 20 65 78 74 72 65 6d .;.........../*.Number.of.extrem
bfa0 61 6c 20 72 61 79 73 20 28 3f 29 2e 20 2a 2f 0a 20 20 20 20 20 20 20 56 61 6c 75 65 20 2a 2a 20 al.rays.(?)..*/........Value.**.
bfc0 43 6f 6e 73 74 72 61 69 6e 74 20 3b 20 20 20 20 20 20 2f 2a 20 50 6f 69 6e 74 65 72 73 20 74 6f Constraint.;....../*.Pointers.to
bfe0 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 56 61 6c 75 65 20 2a 2a .constraints..*/........Value.**
c000 20 52 61 79 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 50 6f 69 6e 74 65 72 73 20 74 .Ray.;............./*.Pointers.t
c020 6f 20 72 61 79 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 56 61 6c 75 65 20 2a 20 70 5f 49 6e 69 74 o.rays..*/........Value.*.p_Init
c040 20 3b 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 43 6f 6e 73 74 72 61 69 6e 74 73 20 61 6e 64 20 .;.........../*.Constraints.and.
c060 72 61 79 73 20 63 6f 6e 74 69 67 75 6f 75 73 6c 79 2e 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 rays.contiguously..*/........int
c080 20 70 5f 49 6e 69 74 5f 73 69 7a 65 20 3b 20 20 20 20 20 20 20 20 20 20 2f 2a 20 46 6f 72 20 69 .p_Init_size.;........../*.For.i
c0a0 6e 74 65 72 6e 61 6c 20 75 73 65 2e 20 2a 2f 0a 20 20 20 20 20 20 20 73 74 72 75 63 74 20 70 6f nternal.use..*/........struct.po
c0c0 6c 79 68 65 64 72 6f 6e 20 2a 20 6e 65 78 74 20 3b 20 2f 2a 20 4e 65 78 74 20 63 6f 6d 70 6f 6e lyhedron.*.next.;./*.Next.compon
c0e0 65 6e 74 20 6f 66 20 74 68 65 20 75 6e 69 6f 6e 2e 20 2a 2f 0a 20 20 20 20 20 7d 0a 20 20 20 20 ent.of.the.union..*/......}.....
c100 20 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 70 6f 6c 79 68 65 64 72 6f 6e 20 50 6f 6c 79 68 .typedef.struct.polyhedron.Polyh
c120 65 64 72 6f 6e 3b 0a 0a 54 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 72 65 70 72 65 73 65 6e 74 edron;..The.constraint.represent
c140 61 74 69 6f 6e 20 69 73 20 71 75 69 74 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6e 20 74 68 ation.is.quite.the.same.as.in.th
c160 65 20 60 4d 61 74 72 69 78 27 20 64 61 74 61 0a 73 74 72 75 63 74 75 72 65 20 28 2a 6e 6f 74 65 e.`Matrix'.data.structure.(*note
c180 20 43 6c 6f 6f 67 4d 61 74 72 69 78 3a 3a 29 2e 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 .CloogMatrix::)..The.number.of.r
c1a0 6f 77 73 20 69 73 20 60 4e 62 43 6f 6e 73 74 72 61 69 6e 74 73 27 0a 61 6e 64 20 74 68 65 20 6e ows.is.`NbConstraints'.and.the.n
c1c0 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 69 6e 20 74 68 65 20 60 50 6f 6c 79 68 65 64 umber.of.columns.in.the.`Polyhed
c1e0 72 6f 6e 27 20 73 74 72 75 63 74 75 72 65 20 69 73 0a 60 44 69 6d 65 6e 73 69 6f 6e 2b 32 27 20 ron'.structure.is.`Dimension+2'.
c200 28 74 68 65 20 2b 32 20 63 6f 6d 65 73 20 66 72 6f 6d 20 74 68 65 20 65 71 75 61 6c 69 74 79 2f (the.+2.comes.from.the.equality/
c220 69 6e 65 71 75 61 6c 69 74 79 20 74 61 67 20 61 6e 64 20 74 68 65 0a 73 63 61 6c 61 72 20 63 6f inequality.tag.and.the.scalar.co
c240 65 66 66 69 63 69 65 6e 74 29 2e 20 41 73 20 69 6e 20 74 68 65 20 60 4d 61 74 72 69 78 27 20 73 efficient)..As.in.the.`Matrix'.s
c260 74 72 75 63 74 75 72 65 2c 20 54 68 65 20 64 61 74 61 20 61 72 65 20 73 74 6f 72 65 64 0a 69 6e tructure,.The.data.are.stored.in
c280 20 6d 65 6d 6f 72 79 20 63 6f 6e 74 69 67 75 6f 75 73 6c 79 20 61 74 20 74 68 65 20 60 70 5f 49 .memory.contiguously.at.the.`p_I
c2a0 6e 69 74 27 20 61 64 64 72 65 73 73 20 61 6e 64 20 74 68 65 20 60 70 5f 49 6e 69 74 5f 73 69 7a nit'.address.and.the.`p_Init_siz
c2c0 65 27 0a 66 69 65 6c 64 20 69 73 20 75 73 65 64 20 66 6f 72 20 6d 65 6d 6f 72 79 20 64 65 61 6c e'.field.is.used.for.memory.deal
c2e0 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 6d 75 6c 74 69 70 6c 65 20 70 72 65 63 69 73 69 location.in.the.multiple.precisi
c300 6f 6e 20 63 61 73 65 0a 28 2a 6e 6f 74 65 20 43 6c 6f 6f 67 4d 61 74 72 69 78 3a 3a 29 2e 20 20 on.case.(*note.CloogMatrix::)...
c320 46 6f 72 20 61 20 62 65 74 74 65 72 20 75 6e 64 65 72 73 74 61 6e 64 69 6e 67 20 6f 66 20 74 68 For.a.better.understanding.of.th
c340 65 20 64 75 61 6c 20 72 61 79 0a 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2c 20 74 68 65 20 75 e.dual.ray.representation,.the.u
c360 73 65 72 20 6d 61 79 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 50 6f 6c 79 4c 69 62 20 64 6f 63 ser.may.refer.to.the.PolyLib.doc
c380 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c umentation.....File:.cloog.info,
c3a0 20 20 4e 6f 64 65 3a 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 4c 69 73 74 2c 20 20 4e 65 78 74 3a 20 ..Node:.CloogDomainList,..Next:.
c3c0 43 6c 6f 6f 67 53 74 61 74 65 6d 65 6e 74 2c 20 20 50 72 65 76 3a 20 43 6c 6f 6f 67 44 6f 6d 61 CloogStatement,..Prev:.CloogDoma
c3e0 69 6e 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 0a 0a in,..Up:.CLooG.Data.Structures..
c400 33 2e 31 2e 33 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 4c 69 73 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3.1.3.CloogDomainList.----------
c420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 64 6f -----------.......struct.cloogdo
c440 6d 61 69 6e 6c 69 73 74 0a 20 20 20 20 20 7b 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 20 2a 20 64 6f mainlist......{.CloogDomain.*.do
c460 6d 61 69 6e 20 3b 0a 20 20 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 64 6f 6d 61 69 6e main.;........struct.cloogdomain
c480 6c 69 73 74 20 2a 20 6e 65 78 74 20 3b 0a 20 20 20 20 20 7d 20 3b 0a 20 20 20 20 20 74 79 70 65 list.*.next.;......}.;......type
c4a0 64 65 66 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 64 6f 6d 61 69 6e 6c 69 73 74 20 43 6c 6f 6f 67 def.struct.cloogdomainlist.Cloog
c4c0 44 6f 6d 61 69 6e 4c 69 73 74 20 3b 0a 0a 54 68 65 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 4c 69 73 DomainList.;..The.CloogDomainLis
c4e0 74 20 73 74 72 75 63 74 75 72 65 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 60 4e 55 4c 4c 27 20 t.structure.represents.a.`NULL'.
c500 74 65 72 6d 69 6e 61 74 65 64 20 6c 69 6e 6b 65 64 20 6c 69 73 74 0a 6f 66 20 64 6f 6d 61 69 6e terminated.linked.list.of.domain
c520 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 s.....File:.cloog.info,..Node:.C
c540 6c 6f 6f 67 53 74 61 74 65 6d 65 6e 74 2c 20 20 4e 65 78 74 3a 20 43 6c 6f 6f 67 42 6c 6f 63 6b loogStatement,..Next:.CloogBlock
c560 2c 20 20 50 72 65 76 3a 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 4c 69 73 74 2c 20 20 55 70 3a 20 43 ,..Prev:.CloogDomainList,..Up:.C
c580 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 0a 0a 33 2e 31 2e 34 20 43 6c 6f 6f LooG.Data.Structures..3.1.4.Cloo
c5a0 67 53 74 61 74 65 6d 65 6e 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a gStatement.--------------------.
c5c0 0a 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 73 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 ......struct.cloogstatement.....
c5e0 20 7b 20 69 6e 74 20 6e 75 6d 62 65 72 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .{.int.number.;.................
c600 20 2f 2a 20 54 68 65 20 73 74 61 74 65 6d 65 6e 74 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 2e ./*.The.statement.unique.number.
c620 20 2a 2f 0a 20 20 20 20 20 20 20 76 6f 69 64 20 2a 20 75 73 72 20 3b 20 20 20 20 20 20 20 20 20 .*/........void.*.usr.;.........
c640 20 20 20 20 20 20 20 20 20 2f 2a 20 50 6f 69 6e 74 65 72 20 66 6f 72 20 75 73 65 72 27 73 20 63 ........./*.Pointer.for.user's.c
c660 6f 6e 76 65 6e 69 65 6e 63 65 2e 20 2a 2f 0a 20 20 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f onvenience..*/........struct.clo
c680 6f 67 73 74 61 74 65 6d 65 6e 74 20 2a 20 6e 65 78 74 20 3b 2f 2a 20 4e 65 78 74 20 65 6c 65 6d ogstatement.*.next.;/*.Next.elem
c6a0 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 6e 6b 65 64 20 6c 69 73 74 2e 20 2a 2f 0a 20 20 20 20 20 ent.of.the.linked.list..*/......
c6c0 7d 20 3b 0a 20 20 20 20 20 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 73 74 61 }.;......typedef.struct.cloogsta
c6e0 74 65 6d 65 6e 74 20 43 6c 6f 6f 67 53 74 61 74 65 6d 65 6e 74 20 3b 0a 0a 54 68 65 20 60 43 6c tement.CloogStatement.;..The.`Cl
c700 6f 6f 67 53 74 61 74 65 6d 65 6e 74 27 20 73 74 72 75 63 74 75 72 65 20 72 65 70 72 65 73 65 6e oogStatement'.structure.represen
c720 74 73 20 61 20 60 4e 55 4c 4c 27 20 74 65 72 6d 69 6e 61 74 65 64 20 6c 69 6e 6b 65 64 0a 6c 69 ts.a.`NULL'.terminated.linked.li
c740 73 74 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 2e 20 49 6e 20 43 4c 6f 6f 47 2c 20 61 20 73 74 st.of.statements..In.CLooG,.a.st
c760 61 74 65 6d 65 6e 74 20 69 73 20 6f 6e 6c 79 20 64 65 66 69 6e 65 64 20 62 79 20 69 74 73 20 75 atement.is.only.defined.by.its.u
c780 6e 69 71 75 65 0a 6e 75 6d 62 65 72 20 28 60 6e 75 6d 62 65 72 27 29 2e 20 54 68 65 20 75 73 65 nique.number.(`number')..The.use
c7a0 72 20 63 61 6e 20 75 73 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 60 75 73 72 27 20 66 6f 72 20 r.can.use.the.pointer.`usr'.for.
c7c0 68 69 73 20 6f 77 6e 0a 63 6f 6e 76 65 6e 69 65 6e 63 65 20 74 6f 20 6c 69 6e 6b 20 68 69 73 20 his.own.convenience.to.link.his.
c7e0 6f 77 6e 20 73 74 61 74 65 6d 65 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 74 6f 20 own.statement.representation.to.
c800 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 60 43 6c 6f 6f 67 53 74 61 74 65 6d 65 6e the.corresponding.`CloogStatemen
c820 74 27 20 73 74 72 75 63 74 75 72 65 2e 20 54 68 65 20 77 68 6f 6c 65 20 6d 61 6e 61 67 65 6d 65 t'.structure..The.whole.manageme
c840 6e 74 20 6f 66 20 74 68 65 0a 60 75 73 72 27 20 70 6f 69 6e 74 65 72 20 69 73 20 75 6e 64 65 72 nt.of.the.`usr'.pointer.is.under
c860 20 74 68 65 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 75 73 65 72 2c .the.responsibility.of.the.user,
c880 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 0a 43 4c 6f 6f 47 20 6e 65 76 65 72 20 74 72 69 65 .in.particular,.CLooG.never.trie
c8a0 73 20 74 6f 20 70 72 69 6e 74 2c 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 6f 72 20 74 6f 20 66 72 s.to.print,.to.allocate.or.to.fr
c8c0 65 65 20 61 20 6d 65 6d 6f 72 79 20 62 6c 6f 63 6b 0a 70 6f 69 6e 74 65 64 20 62 79 20 60 75 73 ee.a.memory.block.pointed.by.`us
c8e0 72 27 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 r'.....File:.cloog.info,..Node:.
c900 43 6c 6f 6f 67 42 6c 6f 63 6b 2c 20 20 4e 65 78 74 3a 20 43 6c 6f 6f 67 42 6c 6f 63 6b 4c 69 73 CloogBlock,..Next:.CloogBlockLis
c920 74 2c 20 20 50 72 65 76 3a 20 43 6c 6f 6f 67 53 74 61 74 65 6d 65 6e 74 2c 20 20 55 70 3a 20 43 t,..Prev:.CloogStatement,..Up:.C
c940 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 0a 0a 33 2e 31 2e 35 20 43 6c 6f 6f LooG.Data.Structures..3.1.5.Cloo
c960 67 42 6c 6f 63 6b 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 73 74 gBlock.----------------.......st
c980 72 75 63 74 20 63 6c 6f 6f 67 62 6c 6f 63 6b 0a 20 20 20 20 20 7b 20 43 6c 6f 6f 67 53 74 61 74 ruct.cloogblock......{.CloogStat
c9a0 65 6d 65 6e 74 20 2a 20 73 74 61 74 65 6d 65 6e 74 20 3b 20 2f 2a 20 53 74 61 74 65 6d 65 6e 74 ement.*.statement.;./*.Statement
c9c0 20 6c 69 73 74 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b 2e 20 2a 2f 0a 20 20 20 20 20 20 20 43 6c .list.of.the.block..*/........Cl
c9e0 6f 6f 67 4d 61 74 72 69 78 20 2a 20 73 63 61 74 74 65 72 69 6e 67 20 3b 20 20 20 2f 2a 20 53 63 oogMatrix.*.scattering.;.../*.Sc
ca00 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b 2e 20 attering.function.of.the.block..
ca20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 64 65 70 74 68 20 3b 20 20 20 20 20 20 20 20 20 20 20 */........int.depth.;...........
ca40 20 20 20 20 20 20 20 2f 2a 20 4f 72 69 67 69 6e 61 6c 20 62 6c 6f 63 6b 20 64 65 70 74 68 2e 2a ......./*.Original.block.depth.*
ca60 2f 0a 20 20 20 20 20 20 20 76 6f 69 64 20 2a 20 75 73 72 3b 20 20 20 20 20 20 20 20 20 20 20 20 /........void.*.usr;............
ca80 20 20 20 20 20 20 2f 2a 20 50 6f 69 6e 74 65 72 20 66 6f 72 20 75 73 65 72 27 73 20 63 6f 6e 76 ....../*.Pointer.for.user's.conv
caa0 65 6e 69 65 6e 63 65 2e 20 2a 2f 0a 20 20 20 20 20 7d 20 3b 0a 20 20 20 20 20 74 79 70 65 64 65 enience..*/......}.;......typede
cac0 66 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 62 6c 6f 63 6b 20 43 6c 6f 6f 67 42 6c 6f 63 6b 20 3b f.struct.cloogblock.CloogBlock.;
cae0 0a 0a 54 68 65 20 60 43 6c 6f 6f 67 42 6c 6f 63 6b 27 20 73 74 72 75 63 74 75 72 65 20 72 65 70 ..The.`CloogBlock'.structure.rep
cb00 72 65 73 65 6e 74 73 20 61 20 73 74 61 74 65 6d 65 6e 74 20 62 6c 6f 63 6b 2e 20 20 49 6e 20 61 resents.a.statement.block...In.a
cb20 0a 73 74 61 74 65 6d 65 6e 74 20 62 6c 6f 63 6b 2c 20 65 76 65 72 79 20 73 74 61 74 65 6d 65 6e .statement.block,.every.statemen
cb40 74 73 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 69 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 ts.have.the.same.iteration.domai
cb60 6e 20 61 6e 64 0a 74 68 65 20 73 61 6d 65 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 n.and.the.same.scattering.functi
cb80 6f 6e 20 28 61 63 74 75 61 6c 6c 79 2c 20 74 68 65 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e on.(actually,.the.scattering.fun
cba0 63 74 69 6f 6e 73 20 6d 61 79 0a 64 69 66 66 65 72 20 6f 6e 6c 79 20 62 79 20 61 20 73 63 61 6c ctions.may.differ.only.by.a.scal
cbc0 61 72 20 63 6f 65 66 66 69 63 69 65 6e 74 20 69 66 20 69 74 20 6a 75 73 74 20 70 72 65 63 69 73 ar.coefficient.if.it.just.precis
cbe0 65 73 20 74 68 65 20 6f 72 64 65 72 69 6e 67 20 6f 66 0a 74 68 65 20 73 74 61 74 65 6d 65 6e 74 es.the.ordering.of.the.statement
cc00 73 20 77 69 74 68 69 6e 20 74 68 65 20 62 6c 6f 63 6b 29 2e 20 60 73 74 61 74 65 6d 65 6e 74 27 s.within.the.block)..`statement'
cc20 20 69 73 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 20 6c 69 73 74 0a 77 68 65 72 65 20 74 68 65 .is.the.statement.list.where.the
cc40 20 73 74 61 74 65 6d 65 6e 74 20 6f 72 64 65 72 20 6d 61 74 74 65 72 73 2c 20 60 73 63 61 74 74 .statement.order.matters,.`scatt
cc60 65 72 69 6e 67 27 20 69 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 0a 73 ering'.is.one.of.the.statement.s
cc80 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 60 64 65 70 74 68 27 20 cattering.functions.and.`depth'.
cca0 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 6d 65 6e 73 69 6f 6e 73 20 6f 66 20 74 is.the.number.of.dimensions.of.t
ccc0 68 65 0a 69 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 6e 20 28 6f 6e 6c 79 20 74 68 65 20 75 6e he.iteration.domain.(only.the.un
cce0 6b 6e 6f 77 6e 2c 20 6e 6f 74 20 74 68 65 20 74 61 67 2f 70 61 72 61 6d 65 74 65 72 73 2f 73 63 known,.not.the.tag/parameters/sc
cd00 61 6c 61 72 29 2e 0a 60 75 73 72 27 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 6c 69 alar)..`usr'.is.a.pointer.for.li
cd20 62 72 61 72 79 20 75 73 65 72 27 73 20 63 6f 6e 76 65 6e 69 65 6e 63 65 2e 20 4e 6f 74 65 20 74 brary.user's.convenience..Note.t
cd40 68 69 73 20 70 6f 69 6e 74 65 72 20 69 73 0a 6e 65 76 65 72 20 61 6c 6c 6f 63 61 74 65 64 2c 20 his.pointer.is.never.allocated,.
cd60 66 72 65 65 64 20 6f 72 20 70 72 69 6e 74 65 64 20 62 79 20 43 4c 6f 6f 47 2e 0a 0a 1f 0a 46 69 freed.or.printed.by.CLooG.....Fi
cd80 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6c 6f 6f 67 42 6c 6f 63 le:.cloog.info,..Node:.CloogBloc
cda0 6b 4c 69 73 74 2c 20 20 4e 65 78 74 3a 20 43 6c 6f 6f 67 4c 6f 6f 70 2c 20 20 50 72 65 76 3a 20 kList,..Next:.CloogLoop,..Prev:.
cdc0 43 6c 6f 6f 67 42 6c 6f 63 6b 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 CloogBlock,..Up:.CLooG.Data.Stru
cde0 63 74 75 72 65 73 0a 0a 33 2e 31 2e 36 20 43 6c 6f 6f 67 42 6c 6f 63 6b 4c 69 73 74 0a 2d 2d 2d ctures..3.1.6.CloogBlockList.---
ce00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 73 74 72 75 63 74 20 63 -----------------.......struct.c
ce20 6c 6f 6f 67 64 62 6c 6f 63 6b 6c 69 73 74 0a 20 20 20 20 20 7b 20 43 6c 6f 6f 67 42 6c 6f 63 6b loogdblocklist......{.CloogBlock
ce40 20 2a 20 62 6c 6f 63 6b 20 3b 0a 20 20 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 62 6c .*.block.;........struct.cloogbl
ce60 6f 63 6b 6c 69 73 74 20 2a 20 6e 65 78 74 20 3b 0a 20 20 20 20 20 7d 20 3b 0a 20 20 20 20 20 74 ocklist.*.next.;......}.;......t
ce80 79 70 65 64 65 66 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 62 6c 6f 63 6b 6c 69 73 74 20 43 6c 6f ypedef.struct.cloogblocklist.Clo
cea0 6f 67 42 6c 6f 63 6b 4c 69 73 74 20 3b 0a 0a 54 68 65 20 43 6c 6f 6f 67 42 6c 6f 63 6b 4c 69 73 ogBlockList.;..The.CloogBlockLis
cec0 74 20 73 74 72 75 63 74 75 72 65 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 60 4e 55 4c 4c 27 20 t.structure.represents.a.`NULL'.
cee0 74 65 72 6d 69 6e 61 74 65 64 20 6c 69 6e 6b 65 64 20 6c 69 73 74 0a 6f 66 20 62 6c 6f 63 6b 73 terminated.linked.list.of.blocks
cf00 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6c .....File:.cloog.info,..Node:.Cl
cf20 6f 6f 67 4c 6f 6f 70 2c 20 20 4e 65 78 74 3a 20 43 6c 6f 6f 67 4e 61 6d 65 73 2c 20 20 50 72 65 oogLoop,..Next:.CloogNames,..Pre
cf40 76 3a 20 43 6c 6f 6f 67 42 6c 6f 63 6b 4c 69 73 74 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 44 61 v:.CloogBlockList,..Up:.CLooG.Da
cf60 74 61 20 53 74 72 75 63 74 75 72 65 73 0a 0a 33 2e 31 2e 37 20 43 6c 6f 6f 67 4c 6f 6f 70 0a 2d ta.Structures..3.1.7.CloogLoop.-
cf80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f --------------.......struct.cloo
cfa0 67 6c 6f 6f 70 0a 20 20 20 20 20 7b 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 20 2a 20 64 6f 6d 61 69 gloop......{.CloogDomain.*.domai
cfc0 6e 3b 20 20 20 20 20 20 20 2f 2a 20 49 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 6e 2e 20 2a 2f n;......./*.Iteration.domain..*/
cfe0 0a 20 20 20 20 20 20 20 56 61 6c 75 65 20 73 74 72 69 64 65 20 3b 20 20 20 20 20 20 20 20 20 20 ........Value.stride.;..........
d000 20 20 20 20 20 2f 2a 20 4c 6f 6f 70 20 73 74 72 69 64 65 2e 20 2a 2f 0a 20 20 20 20 20 20 20 43 ...../*.Loop.stride..*/........C
d020 6c 6f 6f 67 42 6c 6f 63 6b 20 2a 20 62 6c 6f 63 6b 20 3b 20 20 20 20 20 20 20 20 20 2f 2a 20 49 loogBlock.*.block.;........./*.I
d040 6e 63 6c 75 64 65 64 20 73 74 61 74 65 6d 65 6e 74 20 62 6c 6f 63 6b 2e 2a 2f 0a 20 20 20 20 20 ncluded.statement.block.*/......
d060 20 20 76 6f 69 64 20 2a 20 75 73 72 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f ..void.*.usr;................../
d080 2a 20 50 6f 69 6e 74 65 72 20 66 6f 72 20 75 73 65 72 27 73 20 63 6f 6e 76 65 6e 69 65 6e 63 65 *.Pointer.for.user's.convenience
d0a0 2e 20 2a 2f 0a 20 20 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 6c 6f 6f 70 20 2a 20 69 ..*/........struct.cloogloop.*.i
d0c0 6e 6e 65 72 20 3b 20 20 20 2f 2a 20 4c 6f 6f 70 20 61 74 20 74 68 65 20 6e 65 78 74 20 6c 65 76 nner.;.../*.Loop.at.the.next.lev
d0e0 65 6c 2e 20 2a 2f 0a 20 20 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 6c 6f 6f 70 20 2a el..*/........struct.cloogloop.*
d100 20 6e 65 78 74 20 3b 20 20 20 20 2f 2a 20 4e 65 78 74 20 6c 6f 6f 70 20 61 74 20 74 68 65 20 73 .next.;..../*.Next.loop.at.the.s
d120 61 6d 65 20 6c 65 76 65 6c 2e 20 2a 2f 0a 20 20 20 20 20 7d 20 3b 0a 20 20 20 20 20 74 79 70 65 ame.level..*/......}.;......type
d140 64 65 66 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 6c 6f 6f 70 20 43 6c 6f 6f 67 4c 6f 6f 70 20 3b def.struct.cloogloop.CloogLoop.;
d160 0a 0a 54 68 65 20 60 43 6c 6f 6f 67 4c 6f 6f 70 27 20 73 74 72 75 63 74 75 72 65 20 72 65 70 72 ..The.`CloogLoop'.structure.repr
d180 65 73 65 6e 74 73 20 61 20 6c 6f 6f 70 2e 20 20 46 69 72 73 74 20 6f 66 20 61 6c 6c 2c 20 61 20 esents.a.loop...First.of.all,.a.
d1a0 6c 6f 6f 70 20 68 61 73 0a 61 6e 20 69 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 6e 20 28 60 64 loop.has.an.iteration.domain.(`d
d1c0 6f 6d 61 69 6e 27 29 2e 20 54 68 65 20 69 74 65 72 61 74 6f 72 27 73 20 73 74 72 69 64 65 20 66 omain')..The.iterator's.stride.f
d1e0 6f 72 20 6c 6f 6f 70 0a 69 6e 63 72 65 6d 65 6e 74 20 69 73 20 60 73 74 72 69 64 65 27 2e 20 54 or.loop.increment.is.`stride'..T
d200 68 65 20 6c 6f 6f 70 20 63 61 6e 20 69 6e 63 6c 75 64 65 20 61 20 73 74 61 74 65 6d 65 6e 74 20 he.loop.can.include.a.statement.
d220 62 6c 6f 63 6b 20 69 6e 20 74 68 65 0a 66 69 65 6c 64 20 60 62 6c 6f 63 6b 27 2e 20 49 66 20 74 block.in.the.field.`block'..If.t
d240 68 65 72 65 20 69 73 20 6e 6f 20 69 6e 63 6c 75 64 65 64 20 73 74 61 74 65 6d 65 6e 74 20 62 6c here.is.no.included.statement.bl
d260 6f 63 6b 2c 20 60 62 6c 6f 63 6b 27 20 69 73 20 73 65 74 0a 74 6f 20 60 4e 55 4c 4c 27 2e 20 60 ock,.`block'.is.set.to.`NULL'..`
d280 75 73 72 27 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 6c 69 62 72 61 72 79 20 75 73 usr'.is.a.pointer.for.library.us
d2a0 65 72 27 73 20 63 6f 6e 76 65 6e 69 65 6e 63 65 2e 20 4e 6f 74 65 20 74 68 61 74 0a 74 68 69 73 er's.convenience..Note.that.this
d2c0 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 65 76 65 72 20 61 6c 6c 6f 63 61 74 65 64 2c 20 66 72 65 .pointer.is.never.allocated,.fre
d2e0 65 64 20 6f 72 20 70 72 69 6e 74 65 64 20 62 79 20 43 4c 6f 6f 47 2e 20 60 69 6e 6e 65 72 27 20 ed.or.printed.by.CLooG..`inner'.
d300 69 73 0a 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 69 6e 6e 65 72 20 6c 6f 6f 70 2c 20 is.a.pointer.to.the.inner.loop,.
d320 61 6e 64 20 60 6e 65 78 74 27 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 and.`next'.a.pointer.to.the.next
d340 20 6c 6f 6f 70 20 69 6e 0a 74 68 65 20 74 65 78 74 75 61 6c 20 6f 72 64 65 72 2e 20 49 66 20 74 .loop.in.the.textual.order..If.t
d360 68 65 72 65 20 61 72 65 20 6e 6f 20 69 6e 6e 65 72 20 6c 6f 6f 70 20 6f 72 20 6e 6f 20 6e 65 78 here.are.no.inner.loop.or.no.nex
d380 74 20 6c 6f 6f 70 2c 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 6f 69 6e 74 65 t.loop,.the.corresponding.pointe
d3a0 72 20 69 73 20 73 65 74 20 74 6f 20 60 4e 55 4c 4c 27 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f r.is.set.to.`NULL'.....File:.clo
d3c0 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6c 6f 6f 67 4e 61 6d 65 73 2c 20 20 4e 65 78 og.info,..Node:.CloogNames,..Nex
d3e0 74 3a 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 2c 20 20 50 72 65 76 3a 20 43 6c 6f 6f 67 4c 6f 6f t:.CloogProgram,..Prev:.CloogLoo
d400 70 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 0a 0a 33 p,..Up:.CLooG.Data.Structures..3
d420 2e 31 2e 38 20 43 6c 6f 6f 67 4e 61 6d 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .1.8.CloogNames.----------------
d440 0a 0a 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 6e 61 6d 65 73 0a 20 20 20 20 20 7b 20 .......struct.cloognames......{.
d460 69 6e 74 20 6e 62 5f 73 63 61 74 74 65 72 69 6e 67 20 3b 20 20 20 20 20 20 20 20 20 2f 2a 20 53 int.nb_scattering.;........./*.S
d480 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 2a 2f 0a 20 cattering.dimension.number..*/..
d4a0 20 20 20 20 20 20 69 6e 74 20 6e 62 5f 69 74 65 72 61 74 6f 72 73 20 3b 20 20 20 20 20 20 20 20 ......int.nb_iterators.;........
d4c0 20 20 2f 2a 20 49 74 65 72 61 74 6f 72 20 6e 75 6d 62 65 72 2e 20 2a 2f 0a 20 20 20 20 20 20 20 ../*.Iterator.number..*/........
d4e0 69 6e 74 20 6e 62 5f 70 61 72 61 6d 65 74 65 72 73 20 3b 20 20 20 20 20 20 20 20 20 2f 2a 20 50 int.nb_parameters.;........./*.P
d500 61 72 61 6d 65 74 65 72 20 6e 75 6d 62 65 72 2e 20 2a 2f 0a 20 20 20 20 20 20 20 63 68 61 72 20 arameter.number..*/........char.
d520 2a 2a 20 73 63 61 74 74 65 72 69 6e 67 20 3b 20 20 20 20 20 20 20 20 2f 2a 20 54 68 65 20 73 63 **.scattering.;......../*.The.sc
d540 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 61 6d 65 73 2e 20 2a 2f 0a 20 20 20 attering.dimension.names..*/....
d560 20 20 20 20 63 68 61 72 20 2a 2a 20 69 74 65 72 61 74 6f 72 73 20 3b 20 20 20 20 20 20 20 20 20 ....char.**.iterators.;.........
d580 2f 2a 20 54 68 65 20 69 74 65 72 61 74 6f 72 20 6e 61 6d 65 73 2e 20 2a 2f 0a 20 20 20 20 20 20 /*.The.iterator.names..*/.......
d5a0 20 63 68 61 72 20 2a 2a 20 70 61 72 61 6d 65 74 65 72 73 20 3b 20 20 20 20 20 20 20 20 2f 2a 20 .char.**.parameters.;......../*.
d5c0 54 68 65 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 2e 20 2a 2f 0a 20 20 20 20 20 7d 20 3b The.parameter.names..*/......}.;
d5e0 0a 20 20 20 20 20 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 6e 61 6d 65 73 20 ......typedef.struct.cloognames.
d600 43 6c 6f 6f 67 4e 61 6d 65 73 20 3b 0a 0a 54 68 65 20 60 43 6c 6f 6f 67 4e 61 6d 65 73 27 20 73 CloogNames.;..The.`CloogNames'.s
d620 74 72 75 63 74 75 72 65 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 73 63 61 74 74 65 72 69 tructure.represents.the.scatteri
d640 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 2c 20 74 68 65 0a 69 74 65 72 61 74 6f 72 20 61 6e 64 20 74 ng.dimension,.the.iterator.and.t
d660 68 65 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 20 69 6e 20 74 68 65 20 66 69 6e 61 6c 20 he.parameter.names.in.the.final.
d680 70 72 6f 67 72 61 6d 2e 20 20 60 6e 62 5f 73 63 61 74 74 65 72 69 6e 67 27 0a 28 72 65 73 70 65 program...`nb_scattering'.(respe
d6a0 63 74 69 76 65 6c 79 20 60 6e 62 5f 69 74 65 72 61 74 6f 72 73 27 20 61 6e 64 20 60 6e 62 5f 70 ctively.`nb_iterators'.and.`nb_p
d6c0 61 72 61 6d 65 74 65 72 73 27 29 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 73 63 61 arameters').is.the.number.of.sca
d6e0 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 73 20 6e 75 6d 62 65 72 20 28 72 65 73 70 65 ttering.dimensions.number.(respe
d700 63 74 69 76 65 6c 79 20 74 68 65 20 69 74 65 72 61 74 6f 72 20 61 6e 64 20 70 61 72 61 6d 65 74 ctively.the.iterator.and.paramet
d720 65 72 0a 6e 75 6d 62 65 72 29 20 61 6e 64 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 er.number).and.of.elements.in.th
d740 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 61 72 72 61 79 20 6f 66 20 73 74 72 69 6e 67 73 e.corresponding.array.of.strings
d760 0a 60 73 63 61 74 74 65 72 69 6e 67 27 20 28 72 65 73 70 65 63 74 69 76 65 6c 79 20 60 69 74 65 .`scattering'.(respectively.`ite
d780 72 61 74 6f 72 73 27 20 61 6e 64 20 60 70 61 72 61 6d 65 74 65 72 73 27 29 2e 20 20 54 68 65 20 rators'.and.`parameters')...The.
d7a0 69 5e 74 68 0a 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 61 6d 65 20 77 i^th.scattering.dimension.name.w
d7c0 69 6c 6c 20 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 74 6f 20 74 68 ill.be.associated.with.the.to.th
d7e0 65 20 64 69 6d 65 6e 73 69 6f 6e 0a 69 20 6f 66 20 74 68 65 20 73 63 61 74 74 65 72 69 6e 67 20 e.dimension.i.of.the.scattering.
d800 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 69 5e 74 68 20 69 74 65 72 61 74 6f 72 20 6e 61 6d function...The.i^th.iterator.nam
d820 65 20 77 69 6c 6c 20 62 65 0a 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 64 69 e.will.be.associated.with.the.di
d840 6d 65 6e 73 69 6f 6e 20 69 20 6f 66 20 74 68 65 20 69 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 mension.i.of.the.iteration.domai
d860 6e 2e 20 20 54 68 65 20 69 5e 74 68 0a 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 20 77 69 6c 6c n...The.i^th.parameter.name.will
d880 20 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 64 69 6d 65 6e 73 69 6f .be.associated.with.the.dimensio
d8a0 6e 20 69 20 6f 66 20 74 68 65 20 63 6f 6e 74 65 78 74 0a 70 6f 6c 79 68 65 64 72 6f 6e 2e 20 20 n.i.of.the.context.polyhedron...
d8c0 54 68 65 20 75 73 65 72 20 68 61 73 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 72 The.user.has.to.ensure.that.ther
d8e0 65 20 61 72 65 20 65 6e 6f 75 67 68 20 73 63 61 74 74 65 72 69 6e 67 0a 64 69 6d 65 6e 73 69 6f e.are.enough.scattering.dimensio
d900 6e 2c 20 69 74 65 72 61 74 6f 72 20 61 6e 64 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 2e n,.iterator.and.parameter.names.
d920 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6c 6f ....File:.cloog.info,..Node:.Clo
d940 6f 67 50 72 6f 67 72 61 6d 2c 20 20 4e 65 78 74 3a 20 43 6c 6f 6f 67 4f 70 74 69 6f 6e 73 2c 20 ogProgram,..Next:.CloogOptions,.
d960 20 50 72 65 76 3a 20 43 6c 6f 6f 67 4e 61 6d 65 73 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 44 61 .Prev:.CloogNames,..Up:.CLooG.Da
d980 74 61 20 53 74 72 75 63 74 75 72 65 73 0a 0a 33 2e 31 2e 39 20 43 6c 6f 6f 67 50 72 6f 67 72 61 ta.Structures..3.1.9.CloogProgra
d9a0 6d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 73 74 72 75 63 m.------------------.......struc
d9c0 74 20 63 6c 6f 6f 67 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 7b 20 63 68 61 72 20 6c 61 6e 67 75 t.cloogprogram......{.char.langu
d9e0 61 67 65 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 65 20 6c 61 6e 67 75 61 age.;............../*.The.langua
da00 67 65 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 ge.of.the.program..*/........int
da20 20 20 6e 62 5f 73 63 61 74 74 64 69 6d 73 20 3b 20 20 20 20 20 20 20 20 20 20 2f 2a 20 53 63 61 ..nb_scattdims.;........../*.Sca
da40 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 2a 2f 0a 20 20 20 ttering.dimension.number..*/....
da60 20 20 20 20 43 6c 6f 6f 67 4e 61 6d 65 73 20 20 2a 20 6e 61 6d 65 73 20 3b 20 20 20 20 20 20 20 ....CloogNames..*.names.;.......
da80 20 2f 2a 20 49 74 65 72 61 74 6f 72 73 20 61 6e 64 20 70 61 72 61 6d 65 74 65 72 73 20 6e 61 6d ./*.Iterators.and.parameters.nam
daa0 65 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 20 2a 20 63 6f 6e 74 es..*/........CloogDomain.*.cont
dac0 65 78 74 20 3b 20 20 20 20 20 20 2f 2a 20 54 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 74 68 65 ext.;....../*.The.context.of.the
dae0 20 70 72 6f 67 72 61 6d 2e 20 2a 2f 0a 20 20 20 20 20 20 20 43 6c 6f 6f 67 4c 6f 6f 70 20 20 20 .program..*/........CloogLoop...
db00 2a 20 6c 6f 6f 70 20 3b 20 20 20 20 20 20 20 20 20 2f 2a 20 54 68 65 20 6c 6f 6f 70 73 20 6f 66 *.loop.;........./*.The.loops.of
db20 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 2a 2f 0a 20 20 20 20 20 20 20 43 6c 6f 6f 67 42 6c 6f .the.program..*/........CloogBlo
db40 63 6b 4c 69 73 74 20 2a 20 62 6c 6f 63 6b 6c 69 73 74 20 3b 20 2f 2a 20 54 68 65 20 73 74 61 74 ckList.*.blocklist.;./*.The.stat
db60 65 6d 65 6e 74 20 62 6c 6f 63 6b 20 6c 69 73 74 2e 20 2a 2f 0a 20 20 20 20 20 20 20 76 6f 69 64 ement.block.list..*/........void
db80 20 2a 20 75 73 72 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 46 6f 72 20 .*.usr;................../*.For.
dba0 6c 69 62 72 61 72 79 20 75 73 65 72 27 73 20 63 6f 6e 76 65 6e 69 65 6e 63 65 2e 20 2a 2f 0a 20 library.user's.convenience..*/..
dbc0 20 20 20 20 7d 20 3b 0a 20 20 20 20 20 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 63 6c 6f 6f ....}.;......typedef.struct.cloo
dbe0 67 70 72 6f 67 72 61 6d 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 20 3b 0a 0a 54 68 65 20 60 43 6c gprogram.CloogProgram.;..The.`Cl
dc00 6f 6f 67 50 72 6f 67 72 61 6d 27 20 73 74 72 75 63 74 75 72 65 20 72 65 70 72 65 73 65 6e 74 73 oogProgram'.structure.represents
dc20 20 61 20 73 74 61 74 69 63 20 63 6f 6e 74 72 6f 6c 20 70 72 6f 67 72 61 6d 20 6b 65 72 6e 65 6c .a.static.control.program.kernel
dc40 2e 0a 60 6c 61 6e 67 75 61 67 65 27 20 70 72 65 63 69 73 65 73 20 74 68 65 20 6c 61 6e 67 75 61 ..`language'.precises.the.langua
dc60 67 65 20 28 60 63 27 20 66 6f 72 20 43 20 6f 72 20 60 66 27 20 66 6f 72 20 46 4f 52 54 52 41 4e ge.(`c'.for.C.or.`f'.for.FORTRAN
dc80 29 2e 0a 60 6e 62 5f 73 63 61 74 74 64 69 6d 73 27 20 67 69 76 65 73 20 74 68 65 20 6e 75 6d 62 )..`nb_scattdims'.gives.the.numb
dca0 65 72 20 6f 66 20 73 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 73 2e 20 20 60 63 er.of.scattering.dimensions...`c
dcc0 6f 6e 74 65 78 74 27 20 69 73 0a 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 63 6f 6e 73 ontext'.is.a.pointer.to.the.cons
dce0 74 72 61 69 6e 74 73 20 6f 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 70 61 72 61 6d 65 74 65 72 traints.on.the.program.parameter
dd00 73 2c 20 69 74 20 63 61 6e 27 74 20 62 65 20 74 68 65 0a 60 4e 55 4c 4c 27 20 70 6f 69 6e 74 65 s,.it.can't.be.the.`NULL'.pointe
dd20 72 20 65 76 65 6e 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 63 6f 6e 73 74 72 61 69 6e r.even.if.there.are.no.constrain
dd40 74 73 20 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 2e 20 49 6e 20 73 75 63 68 20 61 0a 63 61 73 65 ts.on.parameters..In.such.a.case
dd60 2c 20 73 65 74 20 61 20 70 6f 6c 79 68 65 64 72 6f 6e 20 77 69 74 68 20 61 73 20 6d 61 6e 79 20 ,.set.a.polyhedron.with.as.many.
dd80 64 69 6d 65 6e 73 69 6f 6e 73 20 61 73 20 74 68 65 72 65 20 61 72 65 20 70 61 72 61 6d 65 74 65 dimensions.as.there.are.paramete
dda0 72 73 2c 0a 77 69 74 68 20 61 6e 20 5f 61 6c 77 61 79 73 20 74 72 75 65 5f 20 63 6f 6e 73 74 72 rs,.with.an._always.true_.constr
ddc0 61 69 6e 74 20 6c 69 6b 65 20 31 20 5c 67 65 71 20 30 20 28 74 68 69 73 20 69 73 20 6e 65 63 65 aint.like.1.\geq.0.(this.is.nece
dde0 73 73 61 72 79 20 73 69 6e 63 65 0a 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 72 61 6d 65 ssary.since.the.number.of.parame
de00 74 65 72 73 20 69 73 20 64 65 64 75 63 65 64 20 66 72 6f 6d 20 74 68 65 20 64 69 6d 65 6e 73 69 ters.is.deduced.from.the.dimensi
de20 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 0a 63 6f 6e 74 65 78 74 20 63 6f 6e 73 74 72 61 on.number.of.the.context.constra
de40 69 6e 74 73 29 2e 20 60 6c 6f 6f 70 27 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 ints)..`loop'.is.a.pointer.to.th
de60 65 20 66 69 72 73 74 20 6c 6f 6f 70 20 6f 66 20 74 68 65 0a 70 72 6f 67 72 61 6d 2e 20 60 6e 61 e.first.loop.of.the.program..`na
de80 6d 65 73 27 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 76 61 72 69 6f 75 73 mes'.is.a.pointer.to.the.various
dea0 20 65 6c 65 6d 65 6e 74 20 6e 61 6d 65 73 20 28 73 63 61 74 74 65 72 69 6e 67 0a 64 69 6d 65 6e .element.names.(scattering.dimen
dec0 73 69 6f 6e 2c 20 69 74 65 72 61 74 6f 72 73 2c 20 70 61 72 61 6d 65 74 65 72 73 29 20 6f 66 20 sion,.iterators,.parameters).of.
dee0 74 68 65 20 66 69 6e 61 6c 20 70 72 6f 67 72 61 6d 2e 20 60 6e 61 6d 65 73 27 20 63 61 6e 20 62 the.final.program..`names'.can.b
df00 65 0a 74 68 65 20 60 4e 55 4c 4c 27 20 70 6f 69 6e 74 65 72 20 69 66 20 74 68 65 20 75 73 65 72 e.the.`NULL'.pointer.if.the.user
df20 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 75 73 65 20 6f 75 72 20 70 72 65 74 74 79 20 70 .do.not.want.to.use.our.pretty.p
df40 72 69 6e 74 69 6e 67 0a 66 75 6e 63 74 69 6f 6e 2e 20 20 60 62 6c 6f 63 6b 6c 69 73 74 27 20 69 rinting.function...`blocklist'.i
df60 73 20 74 68 65 20 6c 69 6e 6b 65 64 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 73 74 61 s.the.linked.list.of.all.the.sta
df80 74 65 6d 65 6e 74 20 62 6c 6f 63 6b 0a 73 74 72 75 63 74 75 72 65 73 2e 20 20 60 75 73 72 27 20 tement.block.structures...`usr'.
dfa0 69 73 20 61 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 6c 69 62 72 61 72 79 20 75 73 65 72 27 73 20 is.a.pointer.for.library.user's.
dfc0 63 6f 6e 76 65 6e 69 65 6e 63 65 2e 20 4e 6f 74 65 0a 74 68 61 74 20 74 68 69 73 20 70 6f 69 6e convenience..Note.that.this.poin
dfe0 74 65 72 20 69 73 20 6e 65 76 65 72 20 61 6c 6c 6f 63 61 74 65 64 2c 20 66 72 65 65 64 20 6f 72 ter.is.never.allocated,.freed.or
e000 20 70 72 69 6e 74 65 64 20 62 79 20 43 4c 6f 6f 47 2e 20 20 41 73 20 61 6e 0a 65 78 61 6d 70 6c .printed.by.CLooG...As.an.exampl
e020 65 2c 20 6c 65 74 20 75 73 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 e,.let.us.consider.the.following
e040 20 6c 6f 6f 70 20 6e 65 73 74 3a 0a 20 20 20 20 20 66 6f 72 20 28 69 3d 30 3b 20 69 3c 3d 6e 3b .loop.nest:......for.(i=0;.i<=n;
e060 20 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 30 3b 20 6a 3c 3d 6e 3b 20 6a .i++).{........for.(j=0;.j<=n;.j
e080 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 31 20 3b 0a 20 20 20 20 20 20 20 20 20 53 32 20 ++).{..........S1.;..........S2.
e0a0 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 66 6f 72 20 28 6a 3d 6e 2b 31 3b 20 6a 3c ;........}........for.(j=n+1;.j<
e0c0 3d 32 2a 6e 3b 20 6a 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 53 33 20 3b 0a 20 20 20 20 20 =2*n;.j++).{..........S3.;......
e0e0 20 20 7d 0a 20 20 20 20 20 7d 0a 54 68 65 20 6e 65 78 74 20 66 69 67 75 72 65 20 67 69 76 65 73 ..}......}.The.next.figure.gives
e100 20 61 20 70 6f 73 73 69 62 6c 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 6e 20 6d 65 .a.possible.representation.in.me
e120 6d 6f 72 79 20 66 6f 72 20 74 68 69 73 0a 70 72 6f 67 72 61 6d 20 74 68 61 6e 6b 73 20 74 6f 20 mory.for.this.program.thanks.to.
e140 74 68 65 20 43 4c 6f 6f 47 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 28 69 74 20 68 61 the.CLooG.data.structures.(it.ha
e160 73 20 62 65 65 6e 20 61 63 74 75 61 6c 6c 79 0a 70 72 69 6e 74 65 64 20 62 79 20 74 68 65 20 60 s.been.actually.printed.by.the.`
e180 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 70 72 69 6e 74 27 20 66 75 6e 63 74 69 6f 6e 29 2e 20 cloog_program_print'.function)..
e1a0 49 6e 20 74 68 69 73 20 66 69 67 75 72 65 2c 20 60 2b 2d 2d 0a 43 6c 6f 6f 67 4c 6f 6f 70 27 20 In.this.figure,.`+--.CloogLoop'.
e1c0 64 65 6e 6f 74 65 73 20 61 6e 20 60 69 6e 6e 65 72 27 20 6c 6f 6f 70 2c 20 77 68 69 6c 65 20 61 denotes.an.`inner'.loop,.while.a
e1e0 20 60 43 6c 6f 6f 67 4c 6f 6f 70 27 20 6f 6e 20 74 68 65 20 73 61 6d 65 0a 63 6f 6c 75 6d 6e 20 .`CloogLoop'.on.the.same.column.
e200 70 6f 69 6e 74 65 64 20 62 79 20 61 6e 20 61 72 72 6f 77 20 64 65 6e 6f 74 65 73 20 61 20 60 6e pointed.by.an.arrow.denotes.a.`n
e220 65 78 74 27 20 6c 6f 6f 70 3a 0a 0a 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 50 72 6f 67 72 61 ext'.loop:.......+--.CloogProgra
e240 6d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 4c 61 m......|.......|......|.......La
e260 6e 67 75 61 67 65 3a 20 63 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 nguage:.c......|.......|......|.
e280 20 20 20 20 20 20 53 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 75 6d 62 65 ......Scattering.dimension.numbe
e2a0 72 3a 20 30 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 r:.0......|.......|......|......
e2c0 20 2b 2d 2d 20 43 6c 6f 6f 67 4e 61 6d 65 73 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 .+--.CloogNames......|.......|..
e2e0 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 53 63 61 74 .....|......|.......|.......Scat
e300 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 75 6d 62 65 72 3a 20 30 0a 20 20 20 20 20 tering.dimension.number:.0......
e320 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c |.......|.......|......|.......|
e340 20 20 20 20 20 20 20 2b 2d 2d 20 4e 6f 20 73 63 61 74 74 65 72 69 6e 67 20 73 74 72 69 6e 67 0a .......+--.No.scattering.string.
e360 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 .....|.......|.......|......|...
e380 20 20 20 20 7c 20 20 20 20 20 20 20 49 74 65 72 61 74 6f 72 20 6e 75 6d 62 65 72 20 2d 2d 2d 2d ....|.......Iterator.number.----
e3a0 2d 2d 2d 2d 2d 2d 2d 3a 20 32 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 -------:.2......|.......|.......
e3c0 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 49 74 65 72 61 |......|.......|.......+--.Itera
e3e0 74 6f 72 20 73 74 72 69 6e 67 73 20 2d 2d 2d 2d 2d 2d 3a 20 69 20 6a 0a 20 20 20 20 20 7c 20 20 tor.strings.------:.i.j......|..
e400 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 .....|.......|......|.......|...
e420 20 20 20 20 50 61 72 61 6d 65 74 65 72 20 6e 75 6d 62 65 72 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3a ....Parameter.number.----------:
e440 20 31 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c .1......|.......|.......|......|
e460 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 50 61 72 61 6d 65 74 65 72 20 73 74 72 .......|.......+--.Parameter.str
e480 69 6e 67 73 20 2d 2d 2d 2d 2d 3a 20 6e 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 ings.-----:.n......|.......|....
e4a0 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6f 6e 74 65 78 74 0a 20 20 20 20 20 7c 20 20 20 20 ..|.......+--.Context......|....
e4c0 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 31 20 20 20 2d 32 20 20 5d 0a 20 20 ...|.......[...1....1...-2..]...
e4e0 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 ...|.......|.......[...1....0...
e500 20 31 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 .1..]......|.......|......|.....
e520 20 20 2b 2d 2d 20 43 6c 6f 6f 67 4c 6f 6f 70 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ..+--.CloogLoop......|.......|..
e540 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 .....|......|.......|.......+--.
e560 43 6c 6f 6f 67 44 6f 6d 61 69 6e 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 CloogDomain......|.......|......
e580 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 2d 31 20 20 20 20 31 20 20 20 20 30 20 20 5d .|.......[...1...-1....1....0..]
e5a0 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 ......|.......|.......|.......[.
e5c0 20 20 31 20 20 20 20 31 20 20 20 20 30 20 20 20 20 30 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 ..1....1....0....0..]......|....
e5e0 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 ...|.......|.......[...1....0...
e600 20 30 20 20 20 20 31 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 .0....1..]......|.......|.......
e620 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 53 74 72 69 64 65 3a 20 31 |......|.......|.......Stride:.1
e640 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 ......|.......|.......|......|..
e660 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 4e 75 6c 6c 20 43 6c 6f 6f 67 42 6c 6f 63 6b .....|.......+--.Null.CloogBlock
e680 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 ......|.......|.......|......|..
e6a0 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 4c 6f 6f 70 0a 20 20 20 20 20 .....|.......+--.CloogLoop......
e6c0 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c |.......|.......|.......|......|
e6e0 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 .......|.......|.......+--.Cloog
e700 44 6f 6d 61 69 6e 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 Domain......|.......|.......|...
e720 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 20 31 20 20 20 20 30 ....|.......[...1....0....1....0
e740 20 20 20 20 30 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 ....0..]......|.......|.......|.
e760 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 2d 31 20 20 20 ......|.......[...1....0...-1...
e780 20 31 20 20 20 20 30 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 .1....0..]......|.......|.......
e7a0 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 20 30 20 |.......|.......[...1....0....0.
e7c0 20 20 20 30 20 20 20 20 31 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 ...0....1..]......|.......|.....
e7e0 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 ..|.......|......|.......|......
e800 20 7c 20 20 20 20 20 20 20 53 74 72 69 64 65 3a 20 31 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|.......Stride:.1......|.......
e820 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c |.......|.......|......|.......|
e840 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 4e 75 6c 6c 20 43 6c 6f 6f 67 42 6c 6f .......|.......+--.Null.CloogBlo
e860 63 6b 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 ck......|.......|.......|.......
e880 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b |......|.......|.......|.......+
e8a0 2d 2d 20 43 6c 6f 6f 67 4c 6f 6f 70 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 --.CloogLoop......|.......|.....
e8c0 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 ..|.......|.......|......|......
e8e0 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f .|.......|.......|.......+--.Clo
e900 6f 67 44 6f 6d 61 69 6e 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 ogDomain......|.......|.......|.
e920 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 ......|.......|.......[...1....0
e940 20 20 20 20 30 20 20 20 20 30 20 20 20 20 31 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 ....0....0....1..]......|.......
e960 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c |.......|.......|.......|......|
e980 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 53 .......|.......|.......|.......S
e9a0 74 72 69 64 65 3a 20 31 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 tride:.1......|.......|.......|.
e9c0 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|.......|......|.......|..
e9e0 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 42 6c .....|.......|.......+--.CloogBl
ea00 6f 63 6b 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 ock......|.......|.......|......
ea20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|.......|.......|......|.......
ea40 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 |.......|.......|.......|.......
ea60 2b 2d 2d 20 43 6c 6f 6f 67 53 74 61 74 65 6d 65 6e 74 20 31 0a 20 20 20 20 20 7c 20 20 20 20 20 +--.CloogStatement.1......|.....
ea80 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 ..|.......|.......|.......|.....
eaa0 20 20 7c 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 ..|..........|......|.......|...
eac0 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 ....|.......|.......|.......|...
eae0 20 20 20 20 20 20 20 56 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 .......V......|.......|.......|.
eb00 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 43 6c 6f 6f 67 53 ......|.......|.......|...CloogS
eb20 74 61 74 65 6d 65 6e 74 20 32 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 tatement.2......|.......|.......
eb40 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c |.......|.......|.......|......|
eb60 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c .......|.......|.......|.......|
eb80 20 20 20 20 20 20 20 2b 2d 2d 20 4e 75 6c 6c 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 .......+--.Null.scattering.funct
eba0 69 6f 6e 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 ion......|.......|.......|......
ebc0 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|.......|.......|......|.......
ebe0 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 |.......|.......|.......|.......
ec00 44 65 70 74 68 3a 20 32 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 Depth:.2......|.......|.......|.
ec20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|.......|......|.......|..
ec40 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 .....|.......|......|.......|...
ec60 20 20 20 20 7c 20 20 20 20 20 20 20 56 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 ....|.......V......|.......|....
ec80 20 20 20 7c 20 20 20 43 6c 6f 6f 67 4c 6f 6f 70 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 ...|...CloogLoop......|.......|.
eca0 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|.......|......|.......|..
ecc0 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 0a 20 20 20 .....|.......+--.CloogDomain....
ece0 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 ..|.......|.......|.......|.....
ed00 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 2d 31 20 20 20 20 32 20 20 20 20 30 20 20 5d 0a 20 ..[...1....0...-1....2....0..]..
ed20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 ....|.......|.......|.......|...
ed40 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 20 31 20 20 20 2d 31 20 20 20 2d 31 20 20 5d ....[...1....0....1...-1...-1..]
ed60 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 ......|.......|.......|.......|.
ed80 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 20 30 20 20 20 20 30 20 20 20 20 31 20 ......[...1....0....0....0....1.
eda0 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 .]......|.......|.......|.......
edc0 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 53 |......|.......|.......|.......S
ede0 74 72 69 64 65 3a 20 31 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 tride:.1......|.......|.......|.
ee00 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|......|.......|.......|..
ee20 20 20 20 20 20 2b 2d 2d 20 4e 75 6c 6c 20 43 6c 6f 6f 67 42 6c 6f 63 6b 0a 20 20 20 20 20 7c 20 .....+--.Null.CloogBlock......|.
ee40 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 ......|.......|.......|......|..
ee60 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 4c 6f .....|.......|.......+--.CloogLo
ee80 6f 70 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 op......|.......|.......|.......
eea0 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c |.......|......|.......|.......|
eec0 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 0a 20 .......|.......+--.CloogDomain..
eee0 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 ....|.......|.......|.......|...
ef00 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 31 20 20 20 20 30 20 20 20 20 30 20 20 20 20 30 ....|.......[...1....0....0....0
ef20 20 20 20 20 31 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 ....1..]......|.......|.......|.
ef40 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|.......|......|.......|..
ef60 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 53 74 72 69 64 65 3a 20 31 0a 20 .....|.......|.......Stride:.1..
ef80 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 ....|.......|.......|.......|...
efa0 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 ....|......|.......|.......|....
efc0 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 42 6c 6f 63 6b 0a 20 20 20 20 20 7c ...|.......+--.CloogBlock......|
efe0 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c .......|.......|.......|.......|
f000 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 .......|......|.......|.......|.
f020 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 53 ......|.......|.......+--.CloogS
f040 74 61 74 65 6d 65 6e 74 20 33 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 tatement.3......|.......|.......
f060 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c |.......|.......|.......|......|
f080 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c .......|.......|.......|.......|
f0a0 20 20 20 20 20 20 20 2b 2d 2d 20 4e 75 6c 6c 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 .......+--.Null.scattering.funct
f0c0 69 6f 6e 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 ion......|.......|.......|......
f0e0 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|.......|.......|......|.......
f100 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 |.......|.......|.......|.......
f120 44 65 70 74 68 3a 20 32 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 Depth:.2......|.......|.......|.
f140 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|.......|......|.......|..
f160 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 .....|.......|......|.......|...
f180 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 0a 0a 1f 0a 46 ....|......|.......|......|....F
f1a0 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6c 6f 6f 67 4f 70 74 ile:.cloog.info,..Node:.CloogOpt
f1c0 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 2c 20 20 55 70 3a 20 ions,..Prev:.CloogProgram,..Up:.
f1e0 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 0a 0a 33 2e 31 2e 31 30 20 43 6c CLooG.Data.Structures..3.1.10.Cl
f200 6f 6f 67 4f 70 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a oogOptions.-------------------..
f220 20 20 20 20 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 7b 20 .....struct.cloogoptions......{.
f240 69 6e 74 20 6c 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 2d int.l.;...................../*.-
f260 6c 20 6f 70 74 69 6f 6e 2e 20 20 20 20 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 l.option...........*/........int
f280 20 66 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 2d 66 20 6f .f.;...................../*.-f.o
f2a0 70 74 69 6f 6e 2e 20 20 20 20 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 73 74 ption...........*/........int.st
f2c0 72 69 64 65 73 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 2d 73 74 72 69 64 65 rides.;.............../*.-stride
f2e0 73 20 6f 70 74 69 6f 6e 2e 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 73 68 20 3b 20 s.option.....*/........int.sh.;.
f300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 2d 73 68 20 6f 70 74 69 6f 6e .................../*.-sh.option
f320 2e 20 20 20 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 65 73 70 20 3b 20 20 20 ..........*/........int.esp.;...
f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 2d 65 73 70 20 6f 70 74 69 6f 6e 2e 20 ................/*.-esp.option..
f360 20 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 63 73 70 20 3b 20 20 20 20 20 20 .......*/........int.csp.;......
f380 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 2d 63 73 70 20 6f 70 74 69 6f 6e 2e 20 20 20 20 ............./*.-csp.option.....
f3a0 20 20 20 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 66 73 70 20 3b 20 20 20 20 20 20 20 20 20 ....*/........int.fsp.;.........
f3c0 20 20 20 20 20 20 20 20 20 20 2f 2a 20 2d 66 73 70 20 6f 70 74 69 6f 6e 2e 20 20 20 20 20 20 20 ........../*.-fsp.option........
f3e0 20 2a 2f 0a 20 20 20 20 20 20 20 69 6e 74 20 6f 74 6c 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 .*/........int.otl.;............
f400 20 20 20 20 20 20 20 2f 2a 20 2d 6f 74 6c 20 6f 70 74 69 6f 6e 2e 20 20 20 20 20 20 20 20 2a 2f ......./*.-otl.option.........*/
f420 0a 20 20 20 20 20 20 20 69 6e 74 20 62 6c 6f 63 6b 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 ........int.block.;.............
f440 20 20 20 20 2f 2a 20 2d 62 6c 6f 63 6b 20 6f 70 74 69 6f 6e 2e 20 20 20 20 20 20 2a 2f 0a 20 20 ..../*.-block.option.......*/...
f460 20 20 20 20 20 69 6e 74 20 63 70 70 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....int.cpp.;..................
f480 20 2f 2a 20 2d 63 70 70 20 6f 70 74 69 6f 6e 2e 20 20 20 20 20 20 20 20 2a 2f 0a 20 20 20 20 20 ./*.-cpp.option.........*/......
f4a0 20 20 69 6e 74 20 63 6f 6d 70 69 6c 61 62 6c 65 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a ..int.compilable.;............/*
f4c0 20 2d 63 6f 6d 70 69 6c 61 62 6c 65 20 6f 70 74 69 6f 6e 2e 20 2a 2f 0a 20 20 20 20 20 7d 20 3b .-compilable.option..*/......}.;
f4e0 0a 20 20 20 20 20 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 63 6c 6f 6f 67 6f 70 74 69 6f 6e ......typedef.struct.cloogoption
f500 73 20 43 6c 6f 6f 67 4f 70 74 69 6f 6e 73 20 3b 0a 0a 54 68 65 20 60 43 6c 6f 6f 67 4f 70 74 69 s.CloogOptions.;..The.`CloogOpti
f520 6f 6e 73 27 20 73 74 72 75 63 74 75 72 65 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 74 68 65 20 ons'.structure.contains.all.the.
f540 70 6f 73 73 69 62 6c 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 72 75 6c 65 0a 43 4c 6f 6f 47 27 73 possible.options.to.rule.CLooG's
f560 20 62 65 68 61 76 69 6f 75 72 20 28 2a 6e 6f 74 65 20 43 61 6c 6c 69 6e 67 20 43 4c 6f 6f 47 3a .behaviour.(*note.Calling.CLooG:
f580 3a 29 2e 20 20 41 73 20 61 20 72 65 6d 69 6e 64 65 72 2c 20 74 68 65 20 64 65 66 61 75 6c 74 0a :)...As.a.reminder,.the.default.
f5a0 76 61 6c 75 65 73 20 61 72 65 3a 0a 20 20 20 2a 20 6c 20 3d 20 2d 31 20 28 6f 70 74 69 6d 69 7a values.are:....*.l.=.-1.(optimiz
f5c0 65 20 63 6f 6e 74 72 6f 6c 20 75 6e 74 69 6c 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 6c 6f e.control.until.the.innermost.lo
f5e0 6f 70 73 29 2c 0a 0a 20 20 20 2a 20 66 20 3d 20 31 20 28 6f 70 74 69 6d 69 7a 65 20 63 6f 6e 74 ops),.....*.f.=.1.(optimize.cont
f600 72 6f 6c 20 66 72 6f 6d 20 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 20 6c 6f 6f 70 73 29 2c 0a 0a rol.from.the.outermost.loops),..
f620 20 20 20 2a 20 73 74 72 69 64 65 73 20 3d 20 30 20 28 75 73 65 20 6f 6e 6c 79 20 75 6e 69 74 20 ...*.strides.=.0.(use.only.unit.
f640 73 74 72 69 64 65 73 29 2c 0a 0a 20 20 20 2a 20 73 68 20 3d 20 30 20 28 64 6f 20 6e 6f 74 20 73 strides),.....*.sh.=.0.(do.not.s
f660 69 6d 70 6c 69 66 79 20 63 6f 6e 76 65 78 20 68 75 6c 6c 73 29 2c 0a 0a 20 20 20 2a 20 65 73 70 implify.convex.hulls),.....*.esp
f680 20 3d 20 30 20 28 64 6f 20 6e 6f 74 20 73 70 72 65 61 64 20 63 6f 6d 70 6c 65 78 20 65 71 75 61 .=.0.(do.not.spread.complex.equa
f6a0 6c 69 74 69 65 73 29 2c 0a 0a 20 20 20 2a 20 63 73 70 20 3d 20 31 20 28 73 70 72 65 61 64 20 63 lities),.....*.csp.=.1.(spread.c
f6c0 6f 6e 73 74 61 6e 74 20 76 61 6c 75 65 73 29 2c 0a 0a 20 20 20 2a 20 66 73 70 20 3d 20 31 20 28 onstant.values),.....*.fsp.=.1.(
f6e0 73 74 61 72 74 20 74 6f 20 73 70 72 65 61 64 20 66 72 6f 6d 20 74 68 65 20 66 69 72 73 74 20 69 start.to.spread.from.the.first.i
f700 74 65 72 61 74 6f 72 73 29 2c 0a 0a 20 20 20 2a 20 6f 74 6c 20 3d 20 31 20 28 73 69 6d 70 6c 69 terators),.....*.otl.=.1.(simpli
f720 66 79 20 6c 6f 6f 70 73 20 72 75 6e 6e 69 6e 67 20 6f 6e 6c 79 20 6f 6e 63 65 29 2e 0a 0a 20 20 fy.loops.running.only.once).....
f740 20 2a 20 62 6c 6f 63 6b 20 3d 20 30 20 28 64 6f 20 6e 6f 74 20 6d 61 6b 65 20 73 74 61 74 65 6d .*.block.=.0.(do.not.make.statem
f760 65 6e 74 20 62 6c 6f 63 6b 73 20 77 68 65 6e 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 79 29 2e 0a ent.blocks.when.not.necessary)..
f780 0a 20 20 20 2a 20 63 70 70 20 3d 20 30 20 28 64 6f 20 6e 6f 74 20 67 65 6e 65 72 61 74 65 20 61 ....*.cpp.=.0.(do.not.generate.a
f7a0 20 63 6f 6d 70 69 6c 61 62 6c 65 20 70 61 72 74 20 6f 66 20 63 6f 64 65 20 75 73 69 6e 67 0a 20 .compilable.part.of.code.using..
f7c0 20 20 20 20 70 72 65 70 72 6f 63 65 73 73 6f 72 29 2e 0a 0a 20 20 20 2a 20 63 6f 6d 70 69 6c 61 ....preprocessor)......*.compila
f7e0 62 6c 65 20 3d 20 30 20 28 64 6f 20 6e 6f 74 20 67 65 6e 65 72 61 74 65 20 61 20 63 6f 6d 70 69 ble.=.0.(do.not.generate.a.compi
f800 6c 61 62 6c 65 20 63 6f 64 65 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f lable.code).....File:.cloog.info
f820 2c 20 20 4e 6f 64 65 3a 20 43 4c 6f 6f 47 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a ,..Node:.CLooG.Functions,..Next:
f840 20 45 78 61 6d 70 6c 65 20 6f 66 20 4c 69 62 72 61 72 79 20 55 74 69 6c 69 7a 61 74 69 6f 6e 2c .Example.of.Library.Utilization,
f860 20 20 50 72 65 76 3a 20 43 4c 6f 6f 47 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 2c 20 20 ..Prev:.CLooG.Data.Structures,..
f880 55 70 3a 20 43 4c 6f 6f 47 20 4c 69 62 72 61 72 79 0a 0a 33 2e 32 20 43 4c 6f 6f 47 20 46 75 6e Up:.CLooG.Library..3.2.CLooG.Fun
f8a0 63 74 69 6f 6e 73 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ctions.Description.=============
f8c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 63 ==================..*.Menu:..*.c
f8e0 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 67 65 6e 65 72 61 74 65 3a 3a 0a 2a 20 63 6c 6f 6f 67 5f loog_program_generate::.*.cloog_
f900 70 72 6f 67 72 61 6d 5f 73 63 61 74 74 65 72 3a 3a 0a 2a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 program_scatter::.*.cloog_progra
f920 6d 5f 70 70 72 69 6e 74 3a 3a 0a 2a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 72 65 61 64 3a m_pprint::.*.cloog_program_read:
f940 3a 0a 2a 20 46 72 6f 6d 20 4d 61 74 72 69 63 65 73 20 74 6f 20 44 6f 6d 61 69 6e 73 20 61 6e 64 :.*.From.Matrices.to.Domains.and
f960 20 43 6f 6e 76 65 72 73 65 6c 79 3a 3a 0a 2a 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 20 49 .Conversely::.*.Allocation.and.I
f980 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 0a 2a 20 4d 65 6d 6f nitialization.Functions::.*.Memo
f9a0 72 79 20 44 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 0a 2a 20 50 72 ry.Deallocation.Functions::.*.Pr
f9c0 69 6e 74 69 6e 67 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f inting.Functions::....File:.cloo
f9e0 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 67 65 6e g.info,..Node:.cloog_program_gen
fa00 65 72 61 74 65 2c 20 20 4e 65 78 74 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 73 63 61 74 erate,..Next:.cloog_program_scat
fa20 74 65 72 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 33 2e 32 2e 31 ter,..Up:.CLooG.Functions..3.2.1
fa40 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 67 65 6e 65 72 61 74 65 0a 2d 2d 2d 2d 2d 2d 2d 2d .cloog_program_generate.--------
fa60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 43 6c 6f 6f 67 --------------------.......Cloog
fa80 50 72 6f 67 72 61 6d 20 20 20 2a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 67 65 6e 65 72 61 Program...*.cloog_program_genera
faa0 74 65 0a 20 20 20 20 20 28 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 20 2a 20 70 72 6f 67 72 61 6d te......(.CloogProgram.*.program
fac0 2c 20 20 20 20 20 20 20 2f 2a 20 49 6e 70 75 74 20 70 72 6f 67 72 61 6d 2e 20 2a 2f 0a 20 20 20 ,......./*.Input.program..*/....
fae0 20 20 20 20 43 6c 6f 6f 67 4f 70 74 69 6f 6e 73 20 2a 20 6f 70 74 69 6f 6e 73 20 20 20 20 20 20 ....CloogOptions.*.options......
fb00 20 20 2f 2a 20 4f 70 74 69 6f 6e 73 2e 20 2a 2f 0a 20 20 20 20 20 29 20 3b 0a 0a 54 68 65 20 60 ../*.Options..*/......).;..The.`
fb20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 67 65 6e 65 72 61 74 65 27 20 66 75 6e 63 74 69 6f 6e cloog_program_generate'.function
fb40 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 6f 66 .generates.the.data.structure.of
fb60 0a 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20 73 63 61 6e 73 20 74 68 65 20 .the.source.code.that.scans.the.
fb80 69 6e 70 75 74 20 70 6f 6c 79 68 65 64 72 61 20 70 6f 69 6e 74 65 64 20 62 79 20 60 70 72 6f 67 input.polyhedra.pointed.by.`prog
fba0 72 61 6d 27 0a 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 70 6f ram'.according.to.the.options.po
fbc0 69 6e 74 65 64 20 62 79 20 60 6f 70 74 69 6f 6e 73 27 2e 20 20 54 68 65 20 70 72 6f 63 65 73 73 inted.by.`options'...The.process
fbe0 20 69 73 20 6d 61 64 65 0a 64 69 72 65 63 74 6c 79 20 6f 6e 20 74 68 65 20 69 6e 70 75 74 20 73 .is.made.directly.on.the.input.s
fc00 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 62 79 20 60 70 72 6f 67 72 61 6d 27 2c 20 74 tructure.pointed.by.`program',.t
fc20 68 75 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 73 74 72 75 63 74 75 72 65 20 69 73 20 6e 6f hus.the.original.structure.is.no
fc40 20 6c 6f 6e 67 65 72 20 61 76 61 69 6c 61 62 6c 65 20 61 66 74 65 72 20 61 20 63 61 6c 6c 20 74 .longer.available.after.a.call.t
fc60 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 20 49 74 0a 72 65 74 75 72 6e 73 20 61 20 70 6f o.this.function..It.returns.a.po
fc80 69 6e 74 65 72 20 74 6f 20 61 20 60 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 27 20 73 74 72 75 63 74 inter.to.a.`CloogProgram'.struct
fca0 75 72 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 73 6f 6c 75 74 69 6f 6e 0a 69 6e 20 43 ure.containing.the.solution.in.C
fcc0 4c 6f 6f 47 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 20 20 20 54 68 65 20 69 6e 70 75 74 20 60 LooG.structures......The.input.`
fce0 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 27 20 73 74 72 75 63 74 75 72 65 20 6d 75 73 74 20 68 61 76 CloogProgram'.structure.must.hav
fd00 65 20 6f 6e 6c 79 20 6f 6e 65 20 6c 6f 6f 70 20 6c 65 76 65 6c 20 28 6e 6f 0a 69 6e 6e 65 72 20 e.only.one.loop.level.(no.inner.
fd20 6c 6f 6f 70 73 29 3a 20 74 68 65 72 65 20 69 73 20 6f 6e 65 20 6c 6f 6f 70 20 70 65 72 20 73 74 loops):.there.is.one.loop.per.st
fd40 61 74 65 6d 65 6e 74 20 62 6c 6f 63 6b 2e 20 46 6f 72 20 61 20 67 69 76 65 6e 20 62 6c 6f 63 6b atement.block..For.a.given.block
fd60 2c 0a 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 6c 6f 6f 70 20 63 61 72 72 69 65 73 ,.the.corresponding.loop.carries
fd80 20 74 68 65 20 69 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 6e 2c 20 74 68 65 20 73 74 61 74 65 .the.iteration.domain,.the.state
fda0 6d 65 6e 74 0a 62 6c 6f 63 6b 2c 20 61 6e 64 20 61 20 6c 6f 6f 70 20 73 74 72 69 64 65 20 69 6e ment.block,.and.a.loop.stride.in
fdc0 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 31 2e 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 74 68 itialized.to.1..For.instance,.th
fde0 65 20 69 6e 70 75 74 0a 60 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 27 20 73 74 72 75 63 74 75 72 65 e.input.`CloogProgram'.structure
fe00 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6e 20 73 65 6e 74 20 74 6f 0a 60 63 6c 6f 6f 67 5f 70 .that.have.been.sent.to.`cloog_p
fe20 72 6f 67 72 61 6d 5f 67 65 6e 65 72 61 74 65 27 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 65 20 rogram_generate'.to.achieve.the.
fe40 66 69 6e 61 6c 20 73 74 72 75 63 74 75 72 65 20 61 6e 64 20 63 6f 64 65 20 73 68 6f 77 6e 0a 61 final.structure.and.code.shown.a
fe60 73 20 65 78 61 6d 70 6c 65 20 69 6e 20 74 68 65 20 60 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 27 20 s.example.in.the.`CloogProgram'.
fe80 73 74 72 75 63 74 75 72 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 28 2a 6e 6f 74 65 0a 43 6c 6f structure.description.(*note.Clo
fea0 6f 67 50 72 6f 67 72 61 6d 3a 3a 29 20 77 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f ogProgram::).was.the.following.o
fec0 6e 65 3a 0a 0a 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 0a 20 20 20 20 20 ne:.......+--.CloogProgram......
fee0 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 4c 61 6e 67 75 61 67 65 3a |.......|......|.......Language:
ff00 20 63 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 53 .c......|.......|......|.......S
ff20 63 61 74 74 65 72 69 6e 67 20 64 69 6d 65 6e 73 69 6f 6e 20 6e 75 6d 62 65 72 3a 20 30 0a 20 20 cattering.dimension.number:.0...
ff40 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c ...|.......|......|.......+--.Cl
ff60 6f 6f 67 4e 61 6d 65 73 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a oogNames......|.......|.......|.
ff80 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 53 63 61 74 74 65 72 69 6e 67 20 .....|.......|.......Scattering.
ffa0 64 69 6d 65 6e 73 69 6f 6e 20 6e 75 6d 62 65 72 3a 20 30 0a 20 20 20 20 20 7c 20 20 20 20 20 20 dimension.number:.0......|......
ffc0 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|.......|......|.......|.......
ffe0 2b 2d 2d 20 4e 6f 20 73 63 61 74 74 65 72 69 6e 67 20 73 74 72 69 6e 67 0a 20 20 20 20 20 7c 20 +--.No.scattering.string......|.
10000 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|.......|......|.......|..
10020 20 20 20 20 20 49 74 65 72 61 74 6f 72 20 6e 75 6d 62 65 72 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .....Iterator.number.-----------
10040 3a 20 32 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 :.2......|.......|.......|......
10060 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 49 74 65 72 61 74 6f 72 20 73 74 72 |.......|.......+--.Iterator.str
10080 69 6e 67 73 20 2d 2d 2d 2d 2d 2d 3a 20 69 20 6a 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 ings.------:.i.j......|.......|.
100a0 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 50 61 72 ......|......|.......|.......Par
100c0 61 6d 65 74 65 72 20 6e 75 6d 62 65 72 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3a 20 31 0a 20 20 20 20 ameter.number.----------:.1.....
100e0 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|.......|.......|......|.......
10100 7c 20 20 20 20 20 20 20 2b 2d 2d 20 50 61 72 61 6d 65 74 65 72 20 73 74 72 69 6e 67 73 20 2d 2d |.......+--.Parameter.strings.--
10120 2d 2d 2d 3a 20 6e 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 ---:.n......|.......|......|....
10140 20 20 20 2b 2d 2d 20 43 6f 6e 74 65 78 74 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 ...+--.Context......|.......|...
10160 20 20 20 20 5b 20 20 20 20 31 20 20 20 20 20 31 20 20 20 20 2d 32 20 20 5d 0a 20 20 20 20 20 7c ....[....1.....1....-2..]......|
10180 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 4c .......|......|.......+--.CloogL
101a0 6f 6f 70 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 oop......|.......|.......|......
101c0 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 0a |.......|.......+--.CloogDomain.
101e0 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 .....|.......|.......|.......[..
10200 20 20 31 20 20 20 20 20 31 20 20 20 20 20 30 20 20 20 20 20 30 20 20 20 20 20 30 20 20 5d 0a 20 ..1.....1.....0.....0.....0..]..
10220 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 ....|.......|.......|.......[...
10240 20 31 20 20 20 20 2d 31 20 20 20 20 20 30 20 20 20 20 20 31 20 20 20 20 20 30 20 20 5d 0a 20 20 .1....-1.....0.....1.....0..]...
10260 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 20 ...|.......|.......|.......[....
10280 31 20 20 20 20 20 30 20 20 20 20 20 31 20 20 20 20 20 30 20 20 20 20 20 30 20 20 5d 0a 20 20 20 1.....0.....1.....0.....0..]....
102a0 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 5b 20 20 20 20 31 ..|.......|.......|.......[....1
102c0 20 20 20 20 20 30 20 20 20 20 2d 31 20 20 20 20 20 31 20 20 20 20 20 30 20 20 5d 0a 20 20 20 20 .....0....-1.....1.....0..].....
102e0 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|.......|.......|......|.......
10300 7c 20 20 20 20 20 20 20 53 74 72 69 64 65 3a 20 31 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c |.......Stride:.1......|.......|
10320 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d .......|......|.......|.......+-
10340 2d 20 43 6c 6f 6f 67 42 6c 6f 63 6b 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 -.CloogBlock......|.......|.....
10360 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 ..|.......|......|.......|......
10380 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 53 74 61 74 65 6d 65 6e 74 20 31 0a 20 20 .|.......+--.CloogStatement.1...
103a0 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 ...|.......|.......|.......|....
103c0 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|......|.......|.......|..
103e0 20 20 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 56 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c .....|..........V......|.......|
10400 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 43 6c 6f 6f 67 53 74 61 74 65 6d 65 6e .......|.......|...CloogStatemen
10420 74 20 32 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 t.2......|.......|.......|......
10440 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|......|.......|.......|.......
10460 2b 2d 2d 20 4e 75 6c 6c 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 +--.Null.scattering.function....
10480 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 ..|.......|.......|.......|.....
104a0 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 44 65 70 74 68 3a 20 .|.......|.......|.......Depth:.
104c0 32 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 2......|.......|.......|......|.
104e0 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 56 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|.......V......|.......|..
10500 20 43 6c 6f 6f 67 4c 6f 6f 70 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 .CloogLoop......|.......|.......
10520 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 |......|.......|.......+--.Cloog
10540 44 6f 6d 61 69 6e 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 Domain......|.......|.......|...
10560 20 20 20 20 5b 20 20 20 20 31 20 20 20 20 20 31 20 20 20 20 20 30 20 20 20 20 20 30 20 20 20 20 ....[....1.....1.....0.....0....
10580 20 30 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 .0..]......|.......|.......|....
105a0 20 20 20 5b 20 20 20 20 31 20 20 20 20 2d 31 20 20 20 20 20 30 20 20 20 20 20 31 20 20 20 20 20 ...[....1....-1.....0.....1.....
105c0 30 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 0..]......|.......|.......|.....
105e0 20 20 5b 20 20 20 20 31 20 20 20 20 20 30 20 20 20 20 20 31 20 20 20 20 2d 31 20 20 20 20 2d 31 ..[....1.....0.....1....-1....-1
10600 20 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 ..]......|.......|.......|......
10620 20 5b 20 20 20 20 31 20 20 20 20 20 30 20 20 20 20 2d 31 20 20 20 20 20 32 20 20 20 20 20 30 20 .[....1.....0....-1.....2.....0.
10640 20 5d 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c .]......|.......|.......|......|
10660 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 53 74 72 69 64 65 3a 20 31 0a 20 20 20 20 20 7c 20 .......|.......Stride:.1......|.
10680 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 ......|.......|......|.......|..
106a0 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 42 6c 6f 63 6b 0a 20 20 20 20 20 7c 20 20 20 20 20 20 .....+--.CloogBlock......|......
106c0 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 .|.......|.......|......|.......
106e0 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 2b 2d 2d 20 43 6c 6f 6f 67 53 74 61 74 65 6d 65 |.......|.......+--.CloogStateme
10700 6e 74 20 33 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 nt.3......|.......|.......|.....
10720 20 20 7c 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 ..|......|.......|.......|......
10740 20 2b 2d 2d 20 4e 75 6c 6c 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 0a 20 20 .+--.Null.scattering.function...
10760 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 ...|.......|.......|.......|....
10780 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 44 65 70 74 68 3a ..|.......|.......|.......Depth:
107a0 20 32 0a 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c .2......|.......|.......|......|
107c0 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 7c 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 .......|......|....File:.cloog.i
107e0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 70 70 72 69 6e 74 nfo,..Node:.cloog_program_pprint
10800 2c 20 20 4e 65 78 74 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 72 65 61 64 2c 20 20 50 72 ,..Next:.cloog_program_read,..Pr
10820 65 76 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 73 63 61 74 74 65 72 2c 20 20 55 70 3a 20 ev:.cloog_program_scatter,..Up:.
10840 43 4c 6f 6f 47 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 33 2e 32 2e 32 20 63 6c 6f 6f 67 5f 70 72 6f CLooG.Functions..3.2.2.cloog_pro
10860 67 72 61 6d 5f 70 70 72 69 6e 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d gram_pprint.--------------------
10880 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 76 6f 69 64 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f ------.......void.cloog_program_
108a0 70 70 72 69 6e 74 0a 20 20 20 20 20 28 20 46 49 4c 45 20 2a 20 66 69 6c 65 2c 20 20 20 20 20 20 pprint......(.FILE.*.file,......
108c0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 4f 75 74 70 75 74 20 66 69 6c 65 2e 20 2a 2f 0a 20 ............/*.Output.file..*/..
108e0 20 20 20 20 20 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 20 2a 20 70 72 6f 67 72 61 6d 2c 20 20 20 ......CloogProgram.*.program,...
10900 20 20 20 20 2f 2a 20 50 72 6f 67 72 61 6d 20 74 6f 20 70 72 69 6e 74 2e 20 2a 2f 0a 20 20 20 20 ..../*.Program.to.print..*/.....
10920 20 20 20 43 6c 6f 6f 67 4f 70 74 69 6f 6e 73 20 2a 20 6f 70 74 69 6f 6e 73 20 20 20 20 20 20 20 ...CloogOptions.*.options.......
10940 20 2f 2a 20 4f 70 74 69 6f 6e 73 2e 20 2a 2f 0a 20 20 20 20 20 29 20 3b 0a 0a 54 68 65 20 66 75 ./*.Options..*/......).;..The.fu
10960 6e 63 74 69 6f 6e 20 60 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 70 70 72 69 6e 74 27 20 69 73 nction.`cloog_program_pprint'.is
10980 20 61 20 70 72 65 74 74 79 20 70 72 69 6e 74 65 72 20 66 6f 72 0a 60 43 6c 6f 6f 67 50 72 6f 67 .a.pretty.printer.for.`CloogProg
109a0 72 61 6d 27 20 73 74 72 75 63 74 75 72 65 73 20 77 68 65 6e 20 69 74 20 69 73 20 61 20 73 6f 6c ram'.structures.when.it.is.a.sol
109c0 75 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 0a 60 63 6c 6f 6f 67 5f 70 72 6f ution.provided.by.the.`cloog_pro
109e0 67 72 61 6d 5f 67 65 6e 65 72 61 74 65 27 20 66 75 6e 63 74 69 6f 6e 2e 20 49 74 20 70 72 69 6e gram_generate'.function..It.prin
10a00 74 73 20 74 68 65 20 63 6f 64 65 20 6f 72 20 70 73 65 75 64 6f 2d 63 6f 64 65 20 69 6e 0a 74 68 ts.the.code.or.pseudo-code.in.th
10a20 65 20 66 69 6c 65 20 70 6f 69 6e 74 65 64 20 62 79 20 60 66 69 6c 65 27 20 28 70 6f 73 73 69 62 e.file.pointed.by.`file'.(possib
10a40 6c 79 20 60 73 74 64 6f 75 74 27 29 20 77 69 74 68 20 72 65 67 61 72 64 73 20 74 6f 20 74 68 65 ly.`stdout').with.regards.to.the
10a60 0a 6f 70 74 69 6f 6e 73 20 70 6f 69 6e 74 65 64 20 62 79 20 60 6f 70 74 69 6f 6e 73 27 2e 0a 0a .options.pointed.by.`options'...
10a80 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 63 6c 6f 6f 67 ..File:.cloog.info,..Node:.cloog
10aa0 5f 70 72 6f 67 72 61 6d 5f 73 63 61 74 74 65 72 2c 20 20 4e 65 78 74 3a 20 63 6c 6f 6f 67 5f 70 _program_scatter,..Next:.cloog_p
10ac0 72 6f 67 72 61 6d 5f 70 70 72 69 6e 74 2c 20 20 50 72 65 76 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 rogram_pprint,..Prev:.cloog_prog
10ae0 72 61 6d 5f 67 65 6e 65 72 61 74 65 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 46 75 6e 63 74 69 6f ram_generate,..Up:.CLooG.Functio
10b00 6e 73 0a 0a 33 2e 32 2e 33 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 73 63 61 74 74 65 72 0a ns..3.2.3.cloog_program_scatter.
10b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 ---------------------------.....
10b40 20 20 76 6f 69 64 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 73 63 61 74 74 65 72 0a 20 20 20 ..void.cloog_program_scatter....
10b60 20 20 28 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 20 2a 20 70 72 6f 67 72 61 6d 2c 20 20 20 20 20 ..(.CloogProgram.*.program,.....
10b80 20 20 2f 2a 20 49 6e 70 75 74 20 70 72 6f 67 72 61 6d 2e 20 2a 2f 0a 20 20 20 20 20 20 20 43 6c ../*.Input.program..*/........Cl
10ba0 6f 6f 67 44 6f 6d 61 69 6e 4c 69 73 74 20 2a 20 73 63 61 74 74 65 72 69 6e 67 2c 20 2f 2a 20 41 oogDomainList.*.scattering,./*.A
10bc0 64 64 69 74 69 6f 6e 61 6c 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2e 20 dditional.scattering.functions..
10be0 2a 2f 0a 20 20 20 20 20 20 20 63 68 61 72 20 2a 2a 20 6e 61 6d 65 73 20 3b 20 20 20 20 20 20 20 */........char.**.names.;.......
10c00 20 20 20 20 20 20 20 20 2f 2a 20 41 64 64 69 74 69 6f 6e 61 6c 20 64 69 6d 65 6e 73 69 6f 6e 20 ......../*.Additional.dimension.
10c20 6e 61 6d 65 73 2e 20 2a 2f 0a 20 20 20 20 20 29 20 3b 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e names..*/......).;..The.function
10c40 20 60 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 73 63 61 74 74 65 72 27 20 61 70 70 6c 69 65 73 .`cloog_program_scatter'.applies
10c60 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 0a 74 68 65 20 60 43 6c .scattering.functions.to.the.`Cl
10c80 6f 6f 67 50 72 6f 67 72 61 6d 27 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 62 79 oogProgram'.structure.pointed.by
10ca0 20 60 70 72 6f 67 72 61 6d 27 2e 20 20 4f 72 69 67 69 6e 61 6c 20 64 6f 6d 61 69 6e 73 20 6f 66 .`program'...Original.domains.of
10cc0 0a 60 70 72 6f 67 72 61 6d 27 20 61 72 65 20 66 72 65 65 64 2e 20 53 63 61 74 74 65 72 69 6e 67 .`program'.are.freed..Scattering
10ce0 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 69 6e 73 69 64 65 20 74 68 65 0a 60 43 6c 6f 6f 67 .functions.are.inside.the.`Cloog
10d00 44 6f 6d 61 69 6e 4c 69 73 74 27 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 62 79 DomainList'.structure.pointed.by
10d20 20 60 73 63 61 74 74 65 72 69 6e 67 27 2e 20 20 54 68 65 72 65 20 6d 75 73 74 20 62 65 20 61 73 .`scattering'...There.must.be.as
10d40 0a 6d 61 6e 79 20 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 .many.scattering.functions.in.th
10d60 65 20 60 43 6c 6f 6f 67 44 6f 6d 61 69 6e 4c 69 73 74 27 20 73 74 72 75 63 74 75 72 65 20 61 73 e.`CloogDomainList'.structure.as
10d80 20 6c 6f 6f 70 73 0a 28 69 2e 65 2e 20 69 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 6e 73 29 20 .loops.(i.e..iteration.domains).
10da0 69 6e 20 74 68 65 20 60 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 27 20 73 74 72 75 63 74 75 72 65 2e in.the.`CloogProgram'.structure.
10dc0 20 54 68 65 20 66 69 72 73 74 0a 73 63 61 74 74 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6f .The.first.scattering.function.o
10de0 66 20 74 68 65 20 6c 69 73 74 20 77 69 6c 6c 20 62 65 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 f.the.list.will.be.applied.to.th
10e00 65 20 69 74 65 72 61 74 69 6f 6e 20 64 6f 6d 61 69 6e 0a 6f 66 20 74 68 65 20 66 69 72 73 74 20 e.iteration.domain.of.the.first.
10e20 6c 6f 6f 70 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 loop.in.the.program,.and.so.on..
10e40 20 60 6e 61 6d 65 73 27 20 67 69 76 65 73 20 74 68 65 0a 73 63 61 74 74 65 72 69 6e 67 20 64 69 .`names'.gives.the.scattering.di
10e60 6d 65 6e 73 69 6f 6e 20 6e 61 6d 65 73 20 61 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 73 74 72 mension.names.as.an.array.of.str
10e80 69 6e 67 73 2e 20 49 66 20 60 6e 61 6d 65 73 27 20 69 73 0a 60 4e 55 4c 4c 27 2c 20 6e 61 6d 65 ings..If.`names'.is.`NULL',.name
10ea0 73 20 61 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 3a 20 74 s.are.automatically.generated:.t
10ec0 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 5e 74 68 0a 73 63 61 74 74 65 72 69 6e 67 20 64 he.name.of.the.n^th.scattering.d
10ee0 69 6d 65 6e 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 60 63 6e 27 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 imension.will.be.`cn'.....File:.
10f00 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d cloog.info,..Node:.cloog_program
10f20 5f 72 65 61 64 2c 20 20 4e 65 78 74 3a 20 46 72 6f 6d 20 4d 61 74 72 69 63 65 73 20 74 6f 20 44 _read,..Next:.From.Matrices.to.D
10f40 6f 6d 61 69 6e 73 20 61 6e 64 20 43 6f 6e 76 65 72 73 65 6c 79 2c 20 20 50 72 65 76 3a 20 63 6c omains.and.Conversely,..Prev:.cl
10f60 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 70 70 72 69 6e 74 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 46 oog_program_pprint,..Up:.CLooG.F
10f80 75 6e 63 74 69 6f 6e 73 0a 0a 33 2e 32 2e 34 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 72 65 unctions..3.2.4.cloog_program_re
10fa0 61 64 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 ad.------------------------.....
10fc0 20 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 20 2a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 72 ..CloogProgram.*.cloog_program_r
10fe0 65 61 64 28 46 49 4c 45 20 2a 29 20 3b 0a 54 68 65 20 60 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d ead(FILE.*).;.The.`cloog_program
11000 5f 72 65 61 64 27 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 74 68 65 20 70 72 6f 67 72 61 _read'.function.reads.the.progra
11020 6d 20 64 61 74 61 20 66 72 6f 6d 20 61 20 43 4c 6f 6f 47 0a 69 6e 70 75 74 20 66 69 6c 65 20 28 m.data.from.a.CLooG.input.file.(
11040 2a 6e 6f 74 65 20 57 72 69 74 69 6e 67 20 54 68 65 20 49 6e 70 75 74 20 46 69 6c 65 3a 3a 29 2e *note.Writing.The.Input.File::).
11060 20 49 74 20 74 61 6b 65 73 20 61 73 20 69 6e 70 75 74 20 61 0a 70 6f 69 6e 74 65 72 20 74 6f 20 .It.takes.as.input.a.pointer.to.
11080 74 68 65 20 66 69 6c 65 20 69 74 20 68 61 73 20 74 6f 20 72 65 61 64 20 28 70 6f 73 73 69 62 6c the.file.it.has.to.read.(possibl
110a0 79 20 60 73 74 64 69 6e 27 29 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 0a 70 6f 69 6e 74 65 72 y.`stdin'),.and.return.a.pointer
110c0 20 74 6f 20 74 68 65 20 72 65 61 64 20 60 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 27 20 73 74 72 75 .to.the.read.`CloogProgram'.stru
110e0 63 74 75 72 65 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 cture.....File:.cloog.info,..Nod
11100 65 3a 20 46 72 6f 6d 20 4d 61 74 72 69 63 65 73 20 74 6f 20 44 6f 6d 61 69 6e 73 20 61 6e 64 20 e:.From.Matrices.to.Domains.and.
11120 43 6f 6e 76 65 72 73 65 6c 79 2c 20 20 4e 65 78 74 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 61 6e Conversely,..Next:.Allocation.an
11140 64 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 50 72 65 d.Initialization.Functions,..Pre
11160 76 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 72 65 61 64 2c 20 20 55 70 3a 20 43 4c 6f 6f v:.cloog_program_read,..Up:.CLoo
11180 47 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 33 2e 32 2e 35 20 46 72 6f 6d 20 4d 61 74 72 69 63 65 73 G.Functions..3.2.5.From.Matrices
111a0 20 74 6f 20 44 6f 6d 61 69 6e 73 20 61 6e 64 20 43 6f 6e 76 65 72 73 65 6c 79 0a 2d 2d 2d 2d 2d .to.Domains.and.Conversely.-----
111c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
111e0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 43 6c 6f 6f 67 4d 61 74 72 69 78 20 2a 20 63 6c 6f --------.......CloogMatrix.*.clo
11200 6f 67 5f 64 6f 6d 61 69 6e 5f 64 6f 6d 61 69 6e 32 6d 61 74 72 69 78 28 43 6c 6f 6f 67 44 6f 6d og_domain_domain2matrix(CloogDom
11220 61 69 6e 20 2a 29 20 3b 0a 20 20 20 20 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 20 2a 20 63 6c 6f 6f ain.*).;......CloogDomain.*.cloo
11240 67 5f 64 6f 6d 61 69 6e 5f 6d 61 74 72 69 78 32 64 6f 6d 61 69 6e 28 43 6c 6f 6f 67 4d 61 74 72 g_domain_matrix2domain(CloogMatr
11260 69 78 20 2a 29 20 3b 0a 54 77 6f 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 70 72 6f 76 69 64 ix.*).;.Two.functions.are.provid
11280 65 64 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 61 20 60 43 6c 6f 6f 67 44 6f 6d 61 69 6e 27 20 ed.to.translate.a.`CloogDomain'.
112a0 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 74 6f 20 61 20 60 43 6c 6f 6f 67 4d 61 74 72 69 78 data.structure.to.a.`CloogMatrix
112c0 27 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 61 6e 64 20 63 6f 6e 76 65 72 73 65 6c 79 2e '.data.structure.and.conversely.
112e0 20 20 45 61 63 68 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 0a 61 73 20 69 6e 70 75 74 20 61 ..Each.function.takes.as.input.a
11300 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 74 .pointer.to.the.data.structure.t
11320 6f 20 74 72 61 6e 73 6c 61 74 65 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 73 0a 6f 75 74 70 75 o.translate.and.returns.as.outpu
11340 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 64 61 t.a.pointer.to.the.translated.da
11360 74 61 20 73 74 72 75 63 74 75 72 65 2e 20 54 68 65 20 69 6e 70 75 74 20 64 61 74 61 0a 73 74 72 ta.structure..The.input.data.str
11380 75 63 74 75 72 65 20 69 66 20 6e 65 69 74 68 65 72 20 6d 6f 64 69 66 69 65 64 20 6e 6f 72 20 66 ucture.if.neither.modified.nor.f
113a0 72 65 65 64 2e 20 54 68 65 79 20 6d 61 79 20 62 65 20 71 75 69 74 65 20 75 73 65 66 75 6c 20 66 reed..They.may.be.quite.useful.f
113c0 6f 72 0a 65 2e 67 2e 20 70 72 65 74 74 79 20 70 72 69 6e 74 69 6e 67 20 73 69 6e 63 65 20 69 74 or.e.g..pretty.printing.since.it
113e0 20 69 73 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 65 6e 74 20 69 6e 20 63 6f 6e 73 74 72 61 69 6e .is.more.convenient.in.constrain
11400 74 20 28 6d 61 74 72 69 78 29 0a 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 t.(matrix).representation.....Fi
11420 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 41 6c 6c 6f 63 61 74 69 6f le:.cloog.info,..Node:.Allocatio
11440 6e 20 61 6e 64 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 2c 20 n.and.Initialization.Functions,.
11460 20 4e 65 78 74 3a 20 4d 65 6d 6f 72 79 20 44 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 46 75 6e 63 74 .Next:.Memory.Deallocation.Funct
11480 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 46 72 6f 6d 20 4d 61 74 72 69 63 65 73 20 74 6f 20 44 6f ions,..Prev:.From.Matrices.to.Do
114a0 6d 61 69 6e 73 20 61 6e 64 20 43 6f 6e 76 65 72 73 65 6c 79 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 mains.and.Conversely,..Up:.CLooG
114c0 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 33 2e 32 2e 36 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 .Functions..3.2.6.Allocation.and
114e0 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d .Initialization.Functions.------
11500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11520 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 43 6c 6f 6f 67 53 74 72 75 63 74 75 72 65 20 2a 20 63 -------.......CloogStructure.*.c
11540 6c 6f 6f 67 5f 73 74 72 75 63 74 75 72 65 5f 6d 61 6c 6c 6f 63 28 29 20 3b 0a 45 61 63 68 20 43 loog_structure_malloc().;.Each.C
11560 4c 6f 6f 47 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 68 61 73 20 61 6e 20 61 6c 6c 6f 63 LooG.data.structure.has.an.alloc
11580 61 74 69 6f 6e 20 61 6e 64 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f ation.and.initialization.functio
115a0 6e 0a 61 73 20 73 68 6f 77 6e 20 61 62 6f 76 65 2c 20 77 68 65 72 65 20 60 53 74 72 75 63 74 75 n.as.shown.above,.where.`Structu
115c0 72 65 27 20 61 6e 64 20 60 73 74 72 75 63 74 75 72 65 27 20 68 61 76 65 20 74 6f 20 62 65 20 72 re'.and.`structure'.have.to.be.r
115e0 65 70 6c 61 63 65 64 0a 62 79 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6e 76 65 eplaced.by.the.name.of.the.conve
11600 6e 69 65 6e 74 20 73 74 72 75 63 74 75 72 65 20 28 77 69 74 68 6f 75 74 20 60 43 6c 6f 6f 67 27 nient.structure.(without.`Cloog'
11620 20 70 72 65 66 69 78 29 20 66 6f 72 0a 69 6e 73 74 61 6e 63 65 20 60 43 6c 6f 6f 67 4c 6f 6f 70 .prefix).for.instance.`CloogLoop
11640 20 2a 20 63 6c 6f 6f 67 5f 6c 6f 6f 70 5f 6d 61 6c 6c 6f 63 28 29 20 3b 27 2e 20 54 68 65 73 65 .*.cloog_loop_malloc().;'..These
11660 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 0a 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 6e .functions.return.pointers.to.an
11680 20 61 6c 6c 6f 63 61 74 65 64 20 73 74 72 75 63 74 75 72 65 20 77 69 74 68 20 66 69 65 6c 64 73 .allocated.structure.with.fields
116a0 20 73 65 74 20 74 6f 20 63 6f 6e 76 65 6e 69 65 6e 74 20 64 65 66 61 75 6c 74 0a 76 61 6c 75 65 .set.to.convenient.default.value
116c0 73 2e 20 2a 55 73 69 6e 67 20 74 68 6f 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 73 20 6d 61 6e s..*Using.those.functions.is.man
116e0 64 61 74 6f 72 79 2a 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6e 74 65 72 6e 61 6c 0a 6d 61 6e 61 datory*.to.support.internal.mana
11700 67 65 6d 65 6e 74 20 66 69 65 6c 64 73 20 61 6e 64 20 74 6f 20 61 76 6f 69 64 20 75 70 77 61 72 gement.fields.and.to.avoid.upwar
11720 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 70 72 6f 62 6c 65 6d 73 20 69 66 20 6e 65 77 0a d.compatibility.problems.if.new.
11740 66 69 65 6c 64 73 20 61 70 70 65 61 72 2e 20 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 60 fields.appear..An.exception.is.`
11760 63 6c 6f 6f 67 5f 6d 61 74 72 69 78 5f 6d 61 6c 6c 6f 63 27 20 73 69 6e 63 65 20 74 68 65 0a 60 cloog_matrix_malloc'.since.the.`
11780 43 6c 6f 6f 67 4d 61 74 72 69 78 27 20 63 6f 6d 65 73 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d CloogMatrix'.comes.directly.from
117a0 20 74 68 65 20 50 6f 6c 79 4c 69 62 2e 20 49 74 20 74 61 6b 65 73 20 74 77 6f 20 70 61 72 61 6d .the.PolyLib..It.takes.two.param
117c0 65 74 65 72 73 3a 0a 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 20 61 6e 64 20 63 6f eters:.the.number.of.rows.and.co
117e0 6c 75 6d 6e 73 20 6f 66 20 74 68 65 20 6d 61 74 72 69 78 20 77 65 20 77 61 6e 74 20 74 6f 20 61 lumns.of.the.matrix.we.want.to.a
11800 6c 6c 6f 63 61 74 65 3a 0a 20 20 20 20 20 43 6c 6f 6f 67 4d 61 74 72 69 78 20 2a 20 63 6c 6f 6f llocate:......CloogMatrix.*.cloo
11820 67 5f 6d 61 74 72 69 78 5f 6d 61 6c 6c 6f 63 28 75 6e 73 69 67 6e 65 64 20 6e 62 72 6f 77 73 2c g_matrix_malloc(unsigned.nbrows,
11840 20 75 6e 73 69 67 6e 65 64 20 6e 62 63 6f 6c 75 6d 6e 73 29 3b 0a 0a 1f 0a 46 69 6c 65 3a 20 63 .unsigned.nbcolumns);....File:.c
11860 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4d 65 6d 6f 72 79 20 44 65 61 6c 6c 6f 63 loog.info,..Node:.Memory.Dealloc
11880 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 50 72 69 6e 74 69 6e 67 ation.Functions,..Next:.Printing
118a0 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 61 6e .Functions,..Prev:.Allocation.an
118c0 64 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 55 70 3a d.Initialization.Functions,..Up:
118e0 20 43 4c 6f 6f 47 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 33 2e 32 2e 37 20 4d 65 6d 6f 72 79 20 44 .CLooG.Functions..3.2.7.Memory.D
11900 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d eallocation.Functions.----------
11920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 -------------------------.......
11940 76 6f 69 64 20 63 6c 6f 6f 67 5f 73 74 72 75 63 74 75 72 65 5f 66 72 65 65 28 43 6c 6f 6f 67 53 void.cloog_structure_free(CloogS
11960 74 72 75 63 74 75 72 65 20 2a 29 20 3b 0a 45 61 63 68 20 43 4c 6f 6f 47 20 64 61 74 61 20 73 74 tructure.*).;.Each.CLooG.data.st
11980 72 75 63 74 75 72 65 20 68 61 73 20 61 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 75 6e 63 74 ructure.has.a.deallocation.funct
119a0 69 6f 6e 20 61 73 20 73 68 6f 77 6e 20 61 62 6f 76 65 2c 0a 77 68 65 72 65 20 60 53 74 72 75 63 ion.as.shown.above,.where.`Struc
119c0 74 75 72 65 27 20 61 6e 64 20 60 73 74 72 75 63 74 75 72 65 27 20 68 61 76 65 20 74 6f 20 62 65 ture'.and.`structure'.have.to.be
119e0 20 72 65 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 6e 61 6d 65 20 6f 66 0a 74 68 65 20 63 6f 6e .replaced.by.the.name.of.the.con
11a00 76 65 6e 69 65 6e 74 20 73 74 72 75 63 74 75 72 65 20 28 77 69 74 68 6f 75 74 20 60 43 6c 6f 6f venient.structure.(without.`Cloo
11a20 67 27 20 70 72 65 66 69 78 29 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 20 60 76 6f 69 64 0a 63 6c g'.prefix).for.instance.`void.cl
11a40 6f 6f 67 5f 6c 6f 6f 70 5f 66 72 65 65 28 43 6c 6f 6f 67 4c 6f 6f 70 20 2a 29 20 3b 27 2e 20 54 oog_loop_free(CloogLoop.*).;'..T
11a60 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 65 65 20 74 68 65 20 61 6c 6c 6f 63 61 74 65 hese.functions.free.the.allocate
11a80 64 0a 6d 65 6d 6f 72 79 20 66 6f 72 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 70 72 6f 76 69 d.memory.for.the.structure.provi
11aa0 64 65 64 20 61 73 20 69 6e 70 75 74 2e 20 54 68 65 79 20 66 72 65 65 20 6d 65 6d 6f 72 79 0a 72 ded.as.input..They.free.memory.r
11ac0 65 63 75 72 73 69 76 65 6c 79 2c 20 69 2e 65 2e 20 74 68 65 79 20 61 6c 73 6f 20 66 72 65 65 20 ecursively,.i.e..they.also.free.
11ae0 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 6d 65 6d 6f 72 79 20 66 6f 72 20 74 68 65 20 69 6e 74 the.allocated.memory.for.the.int
11b00 65 72 6e 61 6c 0a 73 74 72 75 63 74 75 72 65 73 2e 20 20 2a 55 73 69 6e 67 20 74 68 6f 73 65 20 ernal.structures...*Using.those.
11b20 66 75 6e 63 74 69 6f 6e 73 20 69 73 20 6d 61 6e 64 61 74 6f 72 79 2a 20 74 6f 20 61 76 6f 69 64 functions.is.mandatory*.to.avoid
11b40 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 73 0a 6f 6e 20 69 6e 74 65 72 6e 61 6c 20 6d 61 6e 61 67 65 .memory.leaks.on.internal.manage
11b60 6d 65 6e 74 20 66 69 65 6c 64 73 20 61 6e 64 20 74 6f 20 61 76 6f 69 64 20 75 70 77 61 72 64 20 ment.fields.and.to.avoid.upward.
11b80 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 70 72 6f 62 6c 65 6d 73 20 69 66 20 6e 65 77 20 66 69 compatibility.problems.if.new.fi
11ba0 65 6c 64 73 20 61 70 70 65 61 72 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f elds.appear.....File:.cloog.info
11bc0 2c 20 20 4e 6f 64 65 3a 20 50 72 69 6e 74 69 6e 67 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 50 72 ,..Node:.Printing.Functions,..Pr
11be0 65 76 3a 20 4d 65 6d 6f 72 79 20 44 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e ev:.Memory.Deallocation.Function
11c00 73 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 33 2e 32 2e 38 20 50 s,..Up:.CLooG.Functions..3.2.8.P
11c20 72 69 6e 74 69 6e 67 20 46 75 6e 63 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d rinting.Functions.--------------
11c40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 20 76 6f 69 64 20 63 6c 6f 6f 67 5f 73 74 72 75 ----------.......void.cloog_stru
11c60 63 74 75 72 65 5f 70 72 69 6e 74 28 46 49 4c 45 20 2a 2c 20 43 6c 6f 6f 67 53 74 72 75 63 74 75 cture_print(FILE.*,.CloogStructu
11c80 72 65 20 2a 29 20 3b 0a 45 61 63 68 20 43 4c 6f 6f 47 20 64 61 74 61 20 73 74 72 75 63 74 75 72 re.*).;.Each.CLooG.data.structur
11ca0 65 20 68 61 73 20 61 20 70 72 69 6e 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 61 73 20 73 68 6f e.has.a.printing.function.as.sho
11cc0 77 6e 20 61 62 6f 76 65 2c 0a 77 68 65 72 65 20 60 53 74 72 75 63 74 75 72 65 27 20 61 6e 64 20 wn.above,.where.`Structure'.and.
11ce0 60 73 74 72 75 63 74 75 72 65 27 20 68 61 76 65 20 74 6f 20 62 65 20 72 65 70 6c 61 63 65 64 20 `structure'.have.to.be.replaced.
11d00 62 79 20 74 68 65 20 6e 61 6d 65 20 6f 66 0a 74 68 65 20 63 6f 6e 76 65 6e 69 65 6e 74 20 73 74 by.the.name.of.the.convenient.st
11d20 72 75 63 74 75 72 65 20 28 77 69 74 68 6f 75 74 20 60 43 6c 6f 6f 67 27 20 70 72 65 66 69 78 29 ructure.(without.`Cloog'.prefix)
11d40 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 20 60 76 6f 69 64 0a 63 6c 6f 6f 67 5f 6c 6f 6f 70 5f 70 .for.instance.`void.cloog_loop_p
11d60 72 69 6e 74 28 46 49 4c 45 20 2a 2c 20 43 6c 6f 6f 67 4c 6f 6f 70 20 2a 29 20 3b 27 2e 20 54 68 rint(FILE.*,.CloogLoop.*).;'..Th
11d80 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 70 72 69 6e 74 20 74 68 65 0a 70 6f 69 6e 74 65 64 20 ese.functions.print.the.pointed.
11da0 73 74 72 75 63 74 75 72 65 20 28 61 6e 64 20 69 74 73 20 66 69 65 6c 64 73 20 72 65 63 75 72 73 structure.(and.its.fields.recurs
11dc0 69 76 65 6c 79 29 20 74 6f 20 74 68 65 20 66 69 6c 65 20 70 72 6f 76 69 64 65 64 20 61 73 0a 69 ively).to.the.file.provided.as.i
11de0 6e 70 75 74 20 28 70 6f 73 73 69 62 6c 79 20 60 73 74 64 6f 75 74 27 29 2e 0a 0a 1f 0a 46 69 6c nput.(possibly.`stdout').....Fil
11e00 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 78 61 6d 70 6c 65 20 6f 66 e:.cloog.info,..Node:.Example.of
11e20 20 4c 69 62 72 61 72 79 20 55 74 69 6c 69 7a 61 74 69 6f 6e 2c 20 20 50 72 65 76 3a 20 43 4c 6f .Library.Utilization,..Prev:.CLo
11e40 6f 47 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 43 4c 6f 6f 47 20 4c 69 62 72 61 72 79 oG.Functions,..Up:.CLooG.Library
11e60 0a 0a 33 2e 33 20 45 78 61 6d 70 6c 65 20 6f 66 20 4c 69 62 72 61 72 79 20 55 74 69 6c 69 7a 61 ..3.3.Example.of.Library.Utiliza
11e80 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tion.===========================
11ea0 3d 3d 3d 3d 3d 3d 3d 0a 0a 48 65 72 65 20 69 73 20 61 20 62 61 73 69 63 20 65 78 61 6d 70 6c 65 =======..Here.is.a.basic.example
11ec0 20 73 68 6f 77 69 6e 67 20 68 6f 77 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 75 .showing.how.it.is.possible.to.u
11ee0 73 65 20 74 68 65 20 43 4c 6f 6f 47 0a 6c 69 62 72 61 72 79 2c 20 61 73 73 75 6d 69 6e 67 20 74 se.the.CLooG.library,.assuming.t
11f00 68 61 74 20 61 20 73 74 61 6e 64 61 72 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 68 61 73 20 hat.a.standard.installation.has.
11f20 62 65 65 6e 20 64 6f 6e 65 2e 20 20 54 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 43 20 70 72 6f 67 been.done...The.following.C.prog
11f40 72 61 6d 20 72 65 61 64 73 20 61 20 43 4c 6f 6f 47 20 69 6e 70 75 74 20 66 69 6c 65 20 6f 6e 20 ram.reads.a.CLooG.input.file.on.
11f60 74 68 65 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2c 0a 74 68 65 6e 20 70 72 69 6e 74 73 20 the.standard.input,.then.prints.
11f80 74 68 65 20 73 6f 6c 75 74 69 6f 6e 20 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 the.solution.on.the.standard.out
11fa0 70 75 74 2e 20 20 4f 70 74 69 6f 6e 73 20 61 72 65 0a 70 72 65 73 65 6c 65 63 74 65 64 20 74 6f put...Options.are.preselected.to
11fc0 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 43 4c 6f 6f 47 .the.default.values.of.the.CLooG
11fe0 20 73 6f 66 74 77 61 72 65 2e 20 20 54 68 69 73 20 65 78 61 6d 70 6c 65 0a 69 73 20 70 72 6f 76 .software...This.example.is.prov
12000 69 64 65 64 20 69 6e 20 74 68 65 20 60 65 78 61 6d 70 6c 65 27 20 64 69 72 65 63 74 6f 72 79 20 ided.in.the.`example'.directory.
12020 6f 66 20 74 68 65 20 43 4c 6f 6f 47 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 20 20 20 20 20 of.the.CLooG.distribution.......
12040 2f 2a 20 65 78 61 6d 70 6c 65 2e 63 20 2a 2f 0a 20 20 20 20 20 23 20 69 6e 63 6c 75 64 65 20 3c /*.example.c.*/......#.include.<
12060 73 74 64 69 6f 2e 68 3e 0a 20 20 20 20 20 23 20 69 6e 63 6c 75 64 65 20 3c 63 6c 6f 6f 67 2f 63 stdio.h>......#.include.<cloog/c
12080 6c 6f 6f 67 2e 68 3e 0a 0a 20 20 20 20 20 69 6e 74 20 6d 61 69 6e 28 29 0a 20 20 20 20 20 7b 20 loog.h>.......int.main()......{.
120a0 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 20 2a 20 70 72 6f 67 72 61 6d 20 3b 0a 20 20 20 20 20 20 20 CloogProgram.*.program.;........
120c0 43 6c 6f 6f 67 4f 70 74 69 6f 6e 73 20 2a 20 6f 70 74 69 6f 6e 73 20 3b 0a 0a 20 20 20 20 20 20 CloogOptions.*.options.;........
120e0 20 2f 2a 20 53 65 74 74 69 6e 67 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 72 65 61 64 69 6e 67 20 ./*.Setting.options.and.reading.
12100 70 72 6f 67 72 61 6d 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 program.informations..*/........
12120 6f 70 74 69 6f 6e 73 20 3d 20 63 6c 6f 6f 67 5f 6f 70 74 69 6f 6e 73 5f 6d 61 6c 6c 6f 63 28 29 options.=.cloog_options_malloc()
12140 20 3b 0a 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 20 3d 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 .;........program.=.cloog_progra
12160 6d 5f 72 65 61 64 28 73 74 64 69 6e 2c 6f 70 74 69 6f 6e 73 29 20 3b 0a 0a 20 20 20 20 20 20 20 m_read(stdin,options).;.........
12180 2f 2a 20 47 65 6e 65 72 61 74 69 6e 67 20 61 6e 64 20 70 72 69 6e 74 69 6e 67 20 74 68 65 20 63 /*.Generating.and.printing.the.c
121a0 6f 64 65 2e 20 2a 2f 0a 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 20 3d 20 63 6c 6f 6f 67 5f 70 ode..*/........program.=.cloog_p
121c0 72 6f 67 72 61 6d 5f 67 65 6e 65 72 61 74 65 28 70 72 6f 67 72 61 6d 2c 6f 70 74 69 6f 6e 73 29 rogram_generate(program,options)
121e0 20 3b 0a 20 20 20 20 20 20 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 70 70 72 69 6e 74 28 73 .;........cloog_program_pprint(s
12200 74 64 6f 75 74 2c 70 72 6f 67 72 61 6d 2c 6f 70 74 69 6f 6e 73 29 20 3b 0a 0a 20 20 20 20 20 20 tdout,program,options).;........
12220 20 63 6c 6f 6f 67 5f 6f 70 74 69 6f 6e 73 5f 66 72 65 65 28 6f 70 74 69 6f 6e 73 29 20 3b 0a 20 .cloog_options_free(options).;..
12240 20 20 20 20 20 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 66 72 65 65 28 70 72 6f 67 72 61 6d ......cloog_program_free(program
12260 29 20 3b 0a 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 7d 0a 0a 54 68 65 ).;........return.0;......}..The
12280 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20 63 6f 75 6c 64 20 62 65 3a 0a 20 .compilation.command.could.be:..
122a0 20 20 20 20 67 63 63 20 65 78 61 6d 70 6c 65 2e 63 20 2d 6c 63 6c 6f 6f 67 20 2d 6f 20 65 78 61 ....gcc.example.c.-lcloog.-o.exa
122c0 6d 70 6c 65 0a 20 20 20 41 20 63 61 6c 6c 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 74 mple....A.calling.command.with.t
122e0 68 65 20 69 6e 70 75 74 20 66 69 6c 65 20 74 65 73 74 2e 63 6c 6f 6f 67 20 63 6f 75 6c 64 20 62 he.input.file.test.cloog.could.b
12300 65 3a 0a 20 20 20 20 20 6d 6f 72 65 20 74 65 73 74 2e 63 6c 6f 6f 67 20 7c 20 2e 2f 65 78 61 6d e:......more.test.cloog.|../exam
12320 70 6c 65 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ple....File:.cloog.info,..Node:.
12340 49 6e 73 74 61 6c 6c 69 6e 67 2c 20 20 4e 65 78 74 3a 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e Installing,..Next:.Documentation
12360 2c 20 20 50 72 65 76 3a 20 43 4c 6f 6f 47 20 4c 69 62 72 61 72 79 2c 20 20 55 70 3a 20 54 6f 70 ,..Prev:.CLooG.Library,..Up:.Top
12380 0a 0a 34 20 49 6e 73 74 61 6c 6c 69 6e 67 20 43 4c 6f 6f 47 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ..4.Installing.CLooG.***********
123a0 2a 2a 2a 2a 2a 2a 2a 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 4c 69 63 65 6e 73 65 3a 3a 0a 2a 20 *******..*.Menu:..*.License::.*.
123c0 52 65 71 75 69 72 65 6d 65 6e 74 73 3a 3a 0a 2a 20 42 61 73 69 63 20 49 6e 73 74 61 6c 6c 61 74 Requirements::.*.Basic.Installat
123e0 69 6f 6e 3a 3a 0a 2a 20 4f 70 74 69 6f 6e 61 6c 20 46 65 61 74 75 72 65 73 3a 3a 0a 2a 20 55 6e ion::.*.Optional.Features::.*.Un
12400 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e installation::....File:.cloog.in
12420 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 69 63 65 6e 73 65 2c 20 20 4e 65 78 74 3a 20 52 65 71 75 69 fo,..Node:.License,..Next:.Requi
12440 72 65 6d 65 6e 74 73 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 69 6e 67 0a 0a 34 2e 31 20 4c 69 rements,..Up:.Installing..4.1.Li
12460 63 65 6e 73 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 69 72 73 74 20 6f 66 20 61 6c 6c 2c cense.===========..First.of.all,
12480 20 69 74 20 77 6f 75 6c 64 20 62 65 20 76 65 72 79 20 6b 69 6e 64 20 74 6f 20 72 65 66 65 72 20 .it.would.be.very.kind.to.refer.
124a0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 70 65 72 20 69 6e 20 61 6e 79 0a 70 75 62 6c 69 the.following.paper.in.any.publi
124c0 63 61 74 69 6f 6e 20 74 68 61 74 20 72 65 73 75 6c 74 20 66 72 6f 6d 20 74 68 65 20 75 73 65 20 cation.that.result.from.the.use.
124e0 6f 66 20 74 68 65 20 43 4c 6f 6f 47 20 73 6f 66 74 77 61 72 65 20 6f 72 20 69 74 73 0a 6c 69 62 of.the.CLooG.software.or.its.lib
12500 72 61 72 79 2c 20 2a 6e 6f 74 65 20 42 61 73 30 34 3a 3a 20 28 61 20 62 69 62 74 65 78 20 65 6e rary,.*note.Bas04::.(a.bibtex.en
12520 74 72 79 20 69 73 20 70 72 6f 76 69 64 65 64 20 62 65 68 69 6e 64 20 74 68 65 20 74 69 74 6c 65 try.is.provided.behind.the.title
12540 0a 70 61 67 65 20 6f 66 20 74 68 69 73 20 6d 61 6e 75 61 6c 2c 20 61 6c 6f 6e 67 20 77 69 74 68 .page.of.this.manual,.along.with
12560 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 69 6e 20 74 68 65 20 43 4c .copyright.notice,.and.in.the.CL
12580 6f 6f 47 20 68 6f 6d 65 0a 60 68 74 74 70 3a 2f 2f 77 77 77 2e 43 4c 6f 6f 47 2e 6f 72 67 27 2e ooG.home.`http://www.CLooG.org'.
125a0 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 .....This.program.is.free.softwa
125c0 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f re;.you.can.redistribute.it.and/
125e0 6f 72 20 6d 6f 64 69 66 79 0a 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 or.modify.it.under.the.terms.of.
12600 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 the.GNU.General.Public.License.v
12620 65 72 73 69 6f 6e 20 32 20 61 73 0a 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 ersion.2.as.published.by.the.Fre
12640 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 54 68 69 73 20 70 72 6f e.Software.Foundation...This.pro
12660 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 0a 69 6e 20 74 68 65 20 68 6f 70 65 20 gram.is.distributed.in.the.hope.
12680 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 20 62 75 74 20 57 49 54 48 that.it.will.be.useful,.but.WITH
126a0 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 0a 65 76 65 6e 20 74 OUT.ANY.WARRANTY;.without.even.t
126c0 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 20 4d 45 52 43 48 41 4e 54 41 he.implied.warranty.of.MERCHANTA
126e0 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 0a 50 41 52 54 49 43 55 4c BILITY.or.FITNESS.FOR.A.PARTICUL
12700 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c AR.PURPOSE...See.the.GNU.General
12720 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 0a 64 65 74 61 69 6c 73 .Public.License.for.more.details
12740 2e 20 20 60 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 63 6f 70 79 6c 65 66 74 2f ...`http://www.gnu.org/copyleft/
12760 67 70 6c 2e 68 74 6d 6c 27 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 gpl.html'....File:.cloog.info,..
12780 4e 6f 64 65 3a 20 52 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 20 4e 65 78 74 3a 20 42 61 73 69 63 Node:.Requirements,..Next:.Basic
127a0 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 50 72 65 76 3a 20 4c 69 63 65 6e 73 65 2c 20 20 .Installation,..Prev:.License,..
127c0 55 70 3a 20 49 6e 73 74 61 6c 6c 69 6e 67 0a 0a 34 2e 32 20 52 65 71 75 69 72 65 6d 65 6e 74 73 Up:.Installing..4.2.Requirements
127e0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 50 6f .================..*.Menu:..*.Po
12800 6c 79 4c 69 62 3a 3a 0a 2a 20 47 4d 50 20 4c 69 62 72 61 72 79 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a lyLib::.*.GMP.Library::....File:
12820 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 50 6f 6c 79 4c 69 62 2c 20 20 4e 65 .cloog.info,..Node:.PolyLib,..Ne
12840 78 74 3a 20 47 4d 50 20 4c 69 62 72 61 72 79 2c 20 20 55 70 3a 20 52 65 71 75 69 72 65 6d 65 6e xt:.GMP.Library,..Up:.Requiremen
12860 74 73 0a 0a 34 2e 32 2e 31 20 50 6f 6c 79 4c 69 62 20 28 6d 61 6e 64 61 74 6f 72 79 29 0a 2d 2d ts..4.2.1.PolyLib.(mandatory).--
12880 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 6f 20 73 75 63 63 -----------------------..To.succ
128a0 65 73 73 66 75 6c 6c 79 20 69 6e 73 74 61 6c 6c 20 43 4c 6f 6f 47 2c 20 74 68 65 20 75 73 65 72 essfully.install.CLooG,.the.user
128c0 20 6e 65 65 64 20 66 69 72 73 74 6c 79 20 74 6f 20 69 6e 73 74 61 6c 6c 20 50 6f 6c 79 4c 69 62 .need.firstly.to.install.PolyLib
128e0 0a 76 65 72 73 69 6f 6e 20 35 2e 32 32 2e 31 20 6f 72 20 61 62 6f 76 65 20 28 64 65 66 61 75 6c .version.5.22.1.or.above.(defaul
12900 74 20 36 34 20 62 69 74 73 20 76 65 72 73 69 6f 6e 20 69 73 20 73 61 74 69 73 66 79 69 6e 67 20 t.64.bits.version.is.satisfying.
12920 61 73 20 77 65 6c 6c 0a 61 73 20 33 32 20 62 69 74 73 20 6f 72 20 47 4d 50 20 6d 75 6c 74 69 70 as.well.as.32.bits.or.GMP.multip
12940 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e 29 2e 20 20 50 6f 6c 79 6c 69 62 20 le.precision.version)...Polylib.
12960 63 61 6e 20 62 65 0a 64 6f 77 6e 6c 6f 61 64 65 64 20 66 72 65 65 6c 79 20 61 74 20 60 68 74 74 can.be.downloaded.freely.at.`htt
12980 70 3a 2f 2f 69 63 70 73 2e 75 2d 73 74 72 61 73 62 67 2e 66 72 2f 50 6f 6c 79 4c 69 62 2f 27 20 p://icps.u-strasbg.fr/PolyLib/'.
129a0 6f 72 0a 60 68 74 74 70 3a 2f 2f 77 77 77 2e 69 72 69 73 61 2e 66 72 2f 70 6f 6c 79 6c 69 62 2f or.`http://www.irisa.fr/polylib/
129c0 27 2e 20 4f 6e 63 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 61 6e 64 20 75 6e 70 61 63 6b 65 64 20 '..Once.downloaded.and.unpacked.
129e0 28 65 2e 67 2e 0a 75 73 69 6e 67 20 74 68 65 20 60 74 61 72 20 2d 7a 78 76 66 20 70 6f 6c 79 6c (e.g..using.the.`tar.-zxvf.polyl
12a00 69 62 2d 35 2e 32 32 2e 31 2e 74 61 72 2e 67 7a 27 20 63 6f 6d 6d 61 6e 64 29 2c 20 74 68 65 20 ib-5.22.1.tar.gz'.command),.the.
12a20 75 73 65 72 20 63 61 6e 0a 63 6f 6d 70 69 6c 65 20 69 74 20 62 79 20 74 79 70 69 6e 67 20 74 68 user.can.compile.it.by.typing.th
12a40 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 6f 6e 20 74 68 65 20 50 6f 6c 79 e.following.commands.on.the.Poly
12a60 4c 69 62 27 73 20 72 6f 6f 74 0a 64 69 72 65 63 74 6f 72 79 3a 0a 0a 20 20 20 2a 20 60 2e 2f 63 Lib's.root.directory:.....*.`./c
12a80 6f 6e 66 69 67 75 72 65 27 0a 0a 20 20 20 2a 20 60 6d 61 6b 65 27 0a 0a 20 20 20 2a 20 41 6e 64 onfigure'.....*.`make'.....*.And
12aa0 20 61 73 20 72 6f 6f 74 3a 20 60 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 27 0a 0a 20 20 20 54 68 65 .as.root:.`make.install'.....The
12ac0 20 50 6f 6c 79 4c 69 62 20 64 65 66 61 75 6c 74 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 69 73 .PolyLib.default.installation.is
12ae0 20 60 2f 75 73 72 2f 6c 6f 63 61 6c 27 2e 20 54 68 69 73 20 64 69 72 65 63 74 6f 72 79 20 6d 61 .`/usr/local'..This.directory.ma
12b00 79 0a 6e 6f 74 20 62 65 20 69 6e 73 69 64 65 20 79 6f 75 72 20 6c 69 62 72 61 72 79 20 70 61 74 y.not.be.inside.your.library.pat
12b20 68 2e 20 54 6f 20 66 69 78 20 74 68 65 20 70 72 6f 62 6c 65 6d 2c 20 74 68 65 20 75 73 65 72 20 h..To.fix.the.problem,.the.user.
12b40 73 68 6f 75 6c 64 20 73 65 74 0a 20 20 20 20 20 65 78 70 6f 72 74 20 4c 44 5f 4c 49 42 52 41 52 should.set......export.LD_LIBRAR
12b60 59 5f 50 41 54 48 3d 24 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 3a 2f 75 73 72 2f 6c 6f 63 Y_PATH=$LD_LIBRARY_PATH:/usr/loc
12b80 61 6c 2f 6c 69 62 0a 20 20 20 69 66 20 79 6f 75 72 20 73 68 65 6c 6c 20 69 73 2c 20 65 2e 67 2e al/lib....if.your.shell.is,.e.g.
12ba0 2c 20 62 61 73 68 20 6f 72 0a 20 20 20 20 20 73 65 74 65 6e 76 20 4c 44 5f 4c 49 42 52 41 52 59 ,.bash.or......setenv.LD_LIBRARY
12bc0 5f 50 41 54 48 20 24 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 3a 2f 75 73 72 2f 6c 6f 63 61 _PATH.$LD_LIBRARY_PATH:/usr/loca
12be0 6c 2f 6c 69 62 0a 20 20 20 69 66 20 79 6f 75 72 20 73 68 65 6c 6c 20 69 73 2c 20 65 2e 67 2e 2c l/lib....if.your.shell.is,.e.g.,
12c00 20 74 63 73 68 2e 20 41 64 64 20 74 68 65 20 6c 69 6e 65 20 74 6f 20 79 6f 75 72 20 2e 62 61 73 .tcsh..Add.the.line.to.your..bas
12c20 68 72 63 20 6f 72 0a 2e 74 63 73 68 72 63 20 28 6f 72 20 77 68 61 74 65 76 65 72 20 63 6f 6e 76 hrc.or..tcshrc.(or.whatever.conv
12c40 65 6e 69 65 6e 74 20 66 69 6c 65 29 20 74 6f 20 6d 61 6b 65 20 74 68 69 73 20 63 68 61 6e 67 65 enient.file).to.make.this.change
12c60 20 70 65 72 6d 61 6e 65 6e 74 2e 0a 41 6e 6f 74 68 65 72 20 73 6f 6c 75 74 69 6f 6e 20 69 73 20 .permanent..Another.solution.is.
12c80 74 6f 20 61 73 6b 20 50 6f 6c 79 4c 69 62 20 74 6f 20 69 6e 73 74 61 6c 6c 20 69 6e 20 74 68 65 to.ask.PolyLib.to.install.in.the
12ca0 20 73 74 61 6e 64 61 72 64 20 70 61 74 68 20 62 79 0a 75 73 69 6e 67 20 74 68 65 20 70 72 65 66 .standard.path.by.using.the.pref
12cc0 69 78 20 6f 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 ix.option.of.the.configure.scrip
12ce0 74 3a 20 60 2e 2f 63 6f 6e 66 69 67 75 72 65 0a 2d 2d 70 72 65 66 69 78 3d 2f 75 73 72 27 2e 0a t:.`./configure.--prefix=/usr'..
12d00 0a 20 20 20 43 4c 6f 6f 47 20 6d 61 6b 65 73 20 69 6e 74 65 6e 73 69 76 65 20 63 61 6c 6c 73 20 ....CLooG.makes.intensive.calls.
12d20 74 6f 20 70 6f 6c 79 68 65 64 72 61 6c 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 61 6e 64 20 50 6f to.polyhedral.operations,.and.Po
12d40 6c 79 4c 69 62 0a 66 75 6e 63 74 69 6f 6e 73 20 64 6f 20 74 68 65 20 6a 6f 62 2e 20 50 6f 6c 79 lyLib.functions.do.the.job..Poly
12d60 6c 69 62 20 69 73 20 61 20 66 72 65 65 20 6c 69 62 72 61 72 79 20 77 72 69 74 74 65 6e 20 69 6e lib.is.a.free.library.written.in
12d80 20 43 20 66 6f 72 20 74 68 65 0a 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 20 70 6f 6c 79 68 .C.for.the.manipulation.of.polyh
12da0 65 64 72 61 2e 20 54 68 65 20 6c 69 62 72 61 72 79 20 69 73 20 6f 70 65 72 61 74 69 6e 67 20 6f edra..The.library.is.operating.o
12dc0 6e 20 6f 62 6a 65 63 74 73 20 6c 69 6b 65 0a 76 65 63 74 6f 72 73 2c 20 6d 61 74 72 69 63 65 73 n.objects.like.vectors,.matrices
12de0 2c 20 6c 61 74 74 69 63 65 73 2c 20 70 6f 6c 79 68 65 64 72 61 2c 20 5a 2d 70 6f 6c 79 68 65 64 ,.lattices,.polyhedra,.Z-polyhed
12e00 72 61 2c 20 75 6e 69 6f 6e 73 20 6f 66 0a 70 6f 6c 79 68 65 64 72 61 20 61 6e 64 20 61 20 6c 6f ra,.unions.of.polyhedra.and.a.lo
12e20 74 20 6f 66 20 6f 74 68 65 72 20 69 6e 74 65 72 6d 65 64 69 61 72 79 20 73 74 72 75 63 74 75 72 t.of.other.intermediary.structur
12e40 65 73 2e 20 49 74 20 70 72 6f 76 69 64 65 73 0a 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 61 6c es..It.provides.functions.for.al
12e60 6c 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 6f 6e 20 74 68 l.the.important.operations.on.th
12e80 65 73 65 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 ese.structures.....File:.cloog.i
12ea0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 47 4d 50 20 4c 69 62 72 61 72 79 2c 20 20 50 72 65 76 3a 20 nfo,..Node:.GMP.Library,..Prev:.
12ec0 50 6f 6c 79 4c 69 62 2c 20 20 55 70 3a 20 52 65 71 75 69 72 65 6d 65 6e 74 73 0a 0a 34 2e 32 2e PolyLib,..Up:.Requirements..4.2.
12ee0 32 20 47 4d 50 20 4c 69 62 72 61 72 79 20 28 6f 70 74 69 6f 6e 61 6c 29 0a 2d 2d 2d 2d 2d 2d 2d 2.GMP.Library.(optional).-------
12f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 6f 20 62 65 20 61 62 6c ---------------------..To.be.abl
12f20 65 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 69 6e 73 61 6e 65 6c 79 20 6c 61 72 67 65 20 63 6f e.to.deal.with.insanely.large.co
12f40 65 66 66 69 63 69 65 6e 74 2c 20 74 68 65 20 75 73 65 72 20 77 69 6c 6c 20 6e 65 65 64 0a 74 6f efficient,.the.user.will.need.to
12f60 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 47 4e 55 20 4d 75 6c 74 69 70 6c 65 20 50 72 65 63 69 73 .install.the.GNU.Multiple.Precis
12f80 69 6f 6e 20 4c 69 62 72 61 72 79 20 28 47 4d 50 20 66 6f 72 20 73 68 6f 72 74 29 20 76 65 72 73 ion.Library.(GMP.for.short).vers
12fa0 69 6f 6e 0a 34 2e 31 2e 34 20 6f 72 20 61 62 6f 76 65 2e 20 49 74 20 63 61 6e 20 62 65 20 66 72 ion.4.1.4.or.above..It.can.be.fr
12fc0 65 65 6c 79 20 64 6f 77 6e 6c 6f 61 64 65 64 20 66 72 6f 6d 0a 60 68 74 74 70 3a 2f 2f 77 77 77 eely.downloaded.from.`http://www
12fe0 2e 73 77 6f 78 2e 63 6f 6d 2f 67 6d 70 27 2e 20 20 54 68 65 20 75 73 65 72 20 63 61 6e 20 63 6f .swox.com/gmp'...The.user.can.co
13000 6d 70 69 6c 65 20 69 74 20 62 79 20 74 79 70 69 6e 67 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 mpile.it.by.typing.the.following
13020 20 63 6f 6d 6d 61 6e 64 73 20 6f 6e 20 74 68 65 20 47 4d 50 20 72 6f 6f 74 20 64 69 72 65 63 74 .commands.on.the.GMP.root.direct
13040 6f 72 79 3a 0a 0a 20 20 20 2a 20 60 2e 2f 63 6f 6e 66 69 67 75 72 65 27 0a 0a 20 20 20 2a 20 60 ory:.....*.`./configure'.....*.`
13060 6d 61 6b 65 27 0a 0a 20 20 20 2a 20 41 6e 64 20 61 73 20 72 6f 6f 74 3a 20 60 6d 61 6b 65 20 69 make'.....*.And.as.root:.`make.i
13080 6e 73 74 61 6c 6c 27 0a 0a 20 20 20 54 68 65 20 47 4d 50 20 64 65 66 61 75 6c 74 20 69 6e 73 74 nstall'.....The.GMP.default.inst
130a0 61 6c 6c 61 74 69 6f 6e 20 69 73 20 60 2f 75 73 72 2f 6c 6f 63 61 6c 27 2c 20 74 68 65 20 73 61 allation.is.`/usr/local',.the.sa
130c0 6d 65 20 6d 65 74 68 6f 64 20 74 6f 20 66 69 78 0a 61 20 6c 69 62 72 61 72 79 20 70 61 74 68 20 me.method.to.fix.a.library.path.
130e0 70 72 6f 62 6c 65 6d 20 61 70 70 6c 69 65 73 20 61 73 20 77 69 74 68 20 50 6f 6c 79 4c 69 62 20 problem.applies.as.with.PolyLib.
13100 28 2a 6e 6f 74 65 20 50 6f 6c 79 4c 69 62 3a 3a 29 2e 0a 0a 20 20 20 54 68 65 20 50 6f 6c 79 4c (*note.PolyLib::)......The.PolyL
13120 69 62 20 68 61 73 20 74 6f 20 62 65 20 62 75 69 6c 74 20 75 73 69 6e 67 20 74 68 65 20 47 4d 50 ib.has.to.be.built.using.the.GMP
13140 20 6c 69 62 72 61 72 79 20 62 79 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 0a 6f 70 74 69 6f .library.by.specifying.the.optio
13160 6e 20 60 2d 2d 77 69 74 68 2d 6c 69 62 67 6d 70 3d 50 41 54 48 5f 54 4f 5f 47 4d 50 27 20 74 6f n.`--with-libgmp=PATH_TO_GMP'.to
13180 20 74 68 65 20 50 6f 6c 79 4c 69 62 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 0a 28 77 .the.PolyLib.configure.script.(w
131a0 68 65 72 65 20 60 50 41 54 48 5f 54 4f 5f 47 4d 50 27 20 69 73 20 60 2f 75 73 72 2f 6c 6f 63 61 here.`PATH_TO_GMP'.is.`/usr/loca
131c0 6c 27 20 69 66 20 79 6f 75 20 64 69 64 20 6e 6f 74 20 63 68 61 6e 67 65 20 74 68 65 20 47 4d 50 l'.if.you.did.not.change.the.GMP
131e0 0a 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 29 2e 20 54 68 65 6e 20 79 .installation.directory)..Then.y
13200 6f 75 20 68 61 76 65 20 74 6f 20 73 65 74 20 74 68 65 20 63 6f 6e 76 65 6e 69 65 6e 74 20 43 4c ou.have.to.set.the.convenient.CL
13220 6f 6f 47 0a 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 20 6f 70 74 69 6f 6e 73 20 74 6f 20 ooG.configure.script.options.to.
13240 62 75 69 64 20 74 68 65 20 47 4d 50 20 76 65 72 73 69 6f 6e 20 28 2a 6e 6f 74 65 20 4f 70 74 69 buid.the.GMP.version.(*note.Opti
13260 6f 6e 61 6c 0a 46 65 61 74 75 72 65 73 3a 3a 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 onal.Features::).....File:.cloog
13280 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 42 61 73 69 63 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .info,..Node:.Basic.Installation
132a0 2c 20 20 4e 65 78 74 3a 20 4f 70 74 69 6f 6e 61 6c 20 46 65 61 74 75 72 65 73 2c 20 20 50 72 65 ,..Next:.Optional.Features,..Pre
132c0 76 3a 20 52 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 69 6e 67 v:.Requirements,..Up:.Installing
132e0 0a 0a 34 2e 33 20 43 4c 6f 6f 47 20 42 61 73 69 63 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 3d ..4.3.CLooG.Basic.Installation.=
13300 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4f 6e 63 ===========================..Onc
13320 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 61 6e 64 20 75 6e 70 61 63 6b 65 64 20 28 65 2e 67 2e 20 e.downloaded.and.unpacked.(e.g..
13340 75 73 69 6e 67 20 74 68 65 20 60 74 61 72 20 2d 7a 78 76 66 20 63 6c 6f 6f 67 2d 2e 74 61 72 2e using.the.`tar.-zxvf.cloog-.tar.
13360 67 7a 27 0a 63 6f 6d 6d 61 6e 64 29 2c 20 79 6f 75 20 63 61 6e 20 63 6f 6d 70 69 6c 65 20 43 4c gz'.command),.you.can.compile.CL
13380 6f 6f 47 20 62 79 20 74 79 70 69 6e 67 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d ooG.by.typing.the.following.comm
133a0 61 6e 64 73 20 6f 6e 20 74 68 65 0a 43 4c 6f 6f 47 27 73 20 72 6f 6f 74 20 64 69 72 65 63 74 6f ands.on.the.CLooG's.root.directo
133c0 72 79 3a 0a 0a 20 20 20 2a 20 60 2e 2f 63 6f 6e 66 69 67 75 72 65 27 0a 0a 20 20 20 2a 20 60 6d ry:.....*.`./configure'.....*.`m
133e0 61 6b 65 27 0a 0a 20 20 20 2a 20 41 6e 64 20 61 73 20 72 6f 6f 74 3a 20 60 6d 61 6b 65 20 69 6e ake'.....*.And.as.root:.`make.in
13400 73 74 61 6c 6c 27 0a 0a 20 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6c 6f 63 61 stall'.....Depending.on.the.loca
13420 74 69 6f 6e 20 6f 66 20 74 68 65 20 50 6f 6c 79 4c 69 62 2c 20 79 6f 75 20 6d 61 79 20 6e 65 65 tion.of.the.PolyLib,.you.may.nee
13440 64 20 74 6f 20 73 65 74 20 74 68 65 0a 6f 70 74 69 6f 6e 20 60 2d 2d 77 69 74 68 2d 70 6f 6c 79 d.to.set.the.option.`--with-poly
13460 6c 69 62 27 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 20 28 65 2e lib'.of.the.configure.script.(e.
13480 67 2e 20 60 2e 2f 63 6f 6e 66 69 67 75 72 65 0a 2d 2d 77 69 74 68 2d 70 6f 6c 79 6c 69 62 3d 2f g..`./configure.--with-polylib=/
134a0 75 73 72 2f 6c 6f 63 61 6c 27 20 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 50 6f 6c 79 4c 69 usr/local'.with.a.default.PolyLi
134c0 62 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 2e 0a 0a 20 20 20 54 68 65 20 70 72 6f 67 72 61 6d b.installation)......The.program
134e0 20 62 69 6e 61 72 69 65 73 20 61 6e 64 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 63 61 6e 20 62 .binaries.and.object.files.can.b
13500 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 20 64 e.removed.from.the.source.code.d
13520 69 72 65 63 74 6f 72 79 20 62 79 20 74 79 70 69 6e 67 20 60 6d 61 6b 65 20 63 6c 65 61 6e 27 2e irectory.by.typing.`make.clean'.
13540 20 54 6f 20 61 6c 73 6f 20 72 65 6d 6f 76 65 20 74 68 65 20 66 69 6c 65 73 20 74 68 61 74 0a 74 .To.also.remove.the.files.that.t
13560 68 65 20 60 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72 69 70 74 20 63 72 65 61 74 65 64 20 28 73 he.`configure'.script.created.(s
13580 6f 20 79 6f 75 20 63 61 6e 20 63 6f 6d 70 69 6c 65 20 74 68 65 20 70 61 63 6b 61 67 65 20 66 6f o.you.can.compile.the.package.fo
135a0 72 20 61 0a 64 69 66 66 65 72 65 6e 74 20 6b 69 6e 64 20 6f 66 20 63 6f 6d 70 75 74 65 72 29 20 r.a.different.kind.of.computer).
135c0 74 79 70 65 20 60 6d 61 6b 65 20 64 69 73 74 63 6c 65 61 6e 27 2e 0a 0a 20 20 20 42 6f 74 68 20 type.`make.distclean'......Both.
135e0 74 68 65 20 43 4c 6f 6f 47 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20 68 the.CLooG.software.and.library.h
13600 61 76 65 20 62 65 65 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6d 70 69 6c 65 64 0a 6f ave.been.successfully.compiled.o
13620 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 79 73 74 65 6d 73 3a 0a 20 20 20 2a 20 50 43 n.the.following.systems:....*.PC
13640 27 73 20 75 6e 64 65 72 20 4c 69 6e 75 78 2c 20 77 69 74 68 20 74 68 65 20 60 67 63 63 27 20 63 's.under.Linux,.with.the.`gcc'.c
13660 6f 6d 70 69 6c 65 72 2c 0a 0a 20 20 20 2a 20 50 43 27 73 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 ompiler,.....*.PC's.under.Window
13680 73 20 28 43 79 67 77 69 6e 29 2c 20 77 69 74 68 20 74 68 65 20 60 67 63 63 27 20 63 6f 6d 70 69 s.(Cygwin),.with.the.`gcc'.compi
136a0 6c 65 72 2c 0a 0a 20 20 20 2a 20 53 70 61 72 63 20 61 6e 64 20 55 6c 74 72 61 53 70 61 72 63 20 ler,.....*.Sparc.and.UltraSparc.
136c0 53 74 61 74 69 6f 6e 73 2c 20 77 69 74 68 20 74 68 65 20 60 67 63 63 27 20 63 6f 6d 70 69 6c 65 Stations,.with.the.`gcc'.compile
136e0 72 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f r.....File:.cloog.info,..Node:.O
13700 70 74 69 6f 6e 61 6c 20 46 65 61 74 75 72 65 73 2c 20 20 4e 65 78 74 3a 20 55 6e 69 6e 73 74 61 ptional.Features,..Next:.Uninsta
13720 6c 6c 61 74 69 6f 6e 2c 20 20 50 72 65 76 3a 20 42 61 73 69 63 20 49 6e 73 74 61 6c 6c 61 74 69 llation,..Prev:.Basic.Installati
13740 6f 6e 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 69 6e 67 0a 0a 34 2e 34 20 4f 70 74 69 6f 6e 61 on,..Up:.Installing..4.4.Optiona
13760 6c 20 46 65 61 74 75 72 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d l.Features.=====================
13780 0a 0a 54 68 65 20 60 63 6f 6e 66 69 67 75 72 65 27 20 73 68 65 6c 6c 20 73 63 72 69 70 74 20 61 ..The.`configure'.shell.script.a
137a0 74 74 65 6d 70 74 73 20 74 6f 20 67 75 65 73 73 20 63 6f 72 72 65 63 74 20 76 61 6c 75 65 73 20 ttempts.to.guess.correct.values.
137c0 66 6f 72 0a 76 61 72 69 6f 75 73 20 73 79 73 74 65 6d 2d 64 65 70 65 6e 64 65 6e 74 20 76 61 72 for.various.system-dependent.var
137e0 69 61 62 6c 65 73 20 61 6e 64 20 75 73 65 72 20 6f 70 74 69 6f 6e 73 20 75 73 65 64 20 64 75 72 iables.and.user.options.used.dur
13800 69 6e 67 0a 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 20 20 49 74 20 75 73 65 73 20 74 68 6f 73 65 20 ing.compilation...It.uses.those.
13820 76 61 6c 75 65 73 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 60 4d 61 6b 65 66 69 6c 65 27 2e values.to.create.the.`Makefile'.
13840 20 56 61 72 69 6f 75 73 0a 75 73 65 72 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 70 72 6f 76 69 64 .Various.user.options.are.provid
13860 65 64 20 62 79 20 74 68 65 20 43 4c 6f 6f 47 27 73 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 ed.by.the.CLooG's.configure.scri
13880 70 74 2e 20 54 68 65 79 20 61 72 65 0a 73 75 6d 6d 61 72 69 7a 65 64 20 69 6e 20 74 68 65 20 66 pt..They.are.summarized.in.the.f
138a0 6f 6c 6c 6f 77 69 6e 67 20 6c 69 73 74 20 61 6e 64 20 6d 61 79 20 62 65 20 70 72 69 6e 74 65 64 ollowing.list.and.may.be.printed
138c0 20 62 79 20 74 79 70 69 6e 67 0a 60 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d 2d 68 65 6c 70 27 20 .by.typing.`./configure.--help'.
138e0 69 6e 20 74 68 65 20 43 4c 6f 6f 47 20 74 6f 70 2d 6c 65 76 65 6c 20 64 69 72 65 63 74 6f 72 79 in.the.CLooG.top-level.directory
13900 2e 0a 0a 20 20 20 2a 20 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 65 20 69 6e 73 74 61 6c 6c 61 ......*.By.default,.the.installa
13920 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 60 2f 75 73 72 2f 6c 6f 63 61 6c 27 3a 20 tion.directory.is.`/usr/local':.
13940 60 6d 61 6b 65 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 27 20 77 69 6c 6c 20 69 6e 73 74 61 6c 6c `make......install'.will.install
13960 20 74 68 65 20 70 61 63 6b 61 67 65 27 73 20 66 69 6c 65 73 20 69 6e 20 60 2f 75 73 72 2f 6c 6f .the.package's.files.in.`/usr/lo
13980 63 61 6c 2f 62 69 6e 27 2c 0a 20 20 20 20 20 60 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 27 20 cal/bin',......`/usr/local/lib'.
139a0 61 6e 64 20 60 2f 75 73 72 2f 6c 6f 63 61 6c 2f 69 6e 63 6c 75 64 65 27 2e 20 20 54 68 65 20 75 and.`/usr/local/include'...The.u
139c0 73 65 72 20 63 61 6e 20 73 70 65 63 69 66 79 0a 20 20 20 20 20 61 6e 20 69 6e 73 74 61 6c 6c 61 ser.can.specify......an.installa
139e0 74 69 6f 6e 20 70 72 65 66 69 78 20 6f 74 68 65 72 20 74 68 61 6e 20 60 2f 75 73 72 2f 6c 6f 63 tion.prefix.other.than.`/usr/loc
13a00 61 6c 27 20 62 79 20 67 69 76 69 6e 67 0a 20 20 20 20 20 60 63 6f 6e 66 69 67 75 72 65 27 20 74 al'.by.giving......`configure'.t
13a20 68 65 20 6f 70 74 69 6f 6e 20 60 2d 2d 70 72 65 66 69 78 3d 50 41 54 48 27 2e 0a 0a 20 20 20 2a he.option.`--prefix=PATH'......*
13a40 20 42 79 20 64 65 66 61 75 6c 74 2c 20 60 63 6f 6e 66 69 67 75 72 65 27 20 77 69 6c 6c 20 6c 6f .By.default,.`configure'.will.lo
13a60 6f 6b 20 66 6f 72 20 74 68 65 20 50 6f 6c 79 4c 69 62 20 69 6e 20 73 74 61 6e 64 61 72 64 0a 20 ok.for.the.PolyLib.in.standard..
13a80 20 20 20 20 6c 6f 63 61 74 69 6f 6e 73 2e 20 49 66 20 6e 65 63 65 73 73 61 72 79 2c 20 74 68 65 ....locations..If.necessary,.the
13aa0 20 75 73 65 72 20 63 61 6e 20 73 70 65 63 69 66 79 20 74 68 65 20 50 6f 6c 79 4c 69 62 20 70 61 .user.can.specify.the.PolyLib.pa
13ac0 74 68 20 62 79 0a 20 20 20 20 20 67 69 76 69 6e 67 20 60 63 6f 6e 66 69 67 75 72 65 27 20 74 68 th.by......giving.`configure'.th
13ae0 65 20 6f 70 74 69 6f 6e 20 60 2d 2d 77 69 74 68 2d 70 6f 6c 79 6c 69 62 3d 50 41 54 48 27 2e 0a e.option.`--with-polylib=PATH'..
13b00 0a 20 20 20 2a 20 42 79 20 64 65 66 61 75 6c 74 2c 20 62 6f 74 68 20 43 4c 6f 6f 47 20 73 6f 66 ....*.By.default,.both.CLooG.sof
13b20 74 77 61 72 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 61 tware.and.library.are.compiled.a
13b40 6e 64 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 2e 20 20 42 79 20 67 69 76 69 6e 67 20 20 60 nd......installed...By.giving..`
13b60 63 6f 6e 66 69 67 75 72 65 27 20 74 68 65 20 6f 70 74 69 6f 6e 20 60 2d 2d 77 69 74 68 6f 75 74 configure'.the.option.`--without
13b80 2d 63 6c 6f 6f 67 27 0a 20 20 20 20 20 74 68 65 20 75 73 65 72 20 64 69 73 61 62 6c 65 20 74 68 -cloog'......the.user.disable.th
13ba0 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f e.compilation.and.installation.o
13bc0 66 20 74 68 65 20 43 4c 6f 6f 47 0a 20 20 20 20 20 73 6f 66 74 77 61 72 65 2e 20 20 42 79 20 67 f.the.CLooG......software...By.g
13be0 69 76 69 6e 67 20 60 63 6f 6e 66 69 67 75 72 65 27 20 74 68 65 20 6f 70 74 69 6f 6e 20 60 2d 2d iving.`configure'.the.option.`--
13c00 77 69 74 68 6f 75 74 2d 6c 69 62 27 20 74 68 65 0a 20 20 20 20 20 75 73 65 72 20 64 69 73 61 62 without-lib'.the......user.disab
13c20 6c 65 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c 6c 61 74 le.the.compilation.and.installat
13c40 69 6f 6e 20 6f 66 20 74 68 65 20 43 4c 6f 6f 47 20 6c 69 62 72 61 72 79 2e 0a 0a 20 20 20 2a 20 ion.of.the.CLooG.library......*.
13c60 42 79 20 64 65 66 61 75 6c 74 2c 20 43 4c 6f 6f 47 20 69 73 20 62 75 69 6c 74 20 69 6e 20 36 34 By.default,.CLooG.is.built.in.64
13c80 62 69 74 73 20 76 65 72 73 69 6f 6e 20 69 66 20 73 75 63 68 20 76 65 72 73 69 6f 6e 20 6f 66 20 bits.version.if.such.version.of.
13ca0 74 68 65 0a 20 20 20 20 20 50 6f 6c 79 4c 69 62 20 69 73 20 66 6f 75 6e 64 20 62 79 20 60 63 6f the......PolyLib.is.found.by.`co
13cc0 6e 66 69 67 75 72 65 27 2e 20 49 66 20 74 68 65 20 6f 6e 6c 79 20 65 78 69 73 74 69 6e 67 20 76 nfigure'..If.the.only.existing.v
13ce0 65 72 73 69 6f 6e 20 6f 66 0a 20 20 20 20 20 74 68 65 20 50 6f 6c 79 4c 69 62 20 69 73 20 74 68 ersion.of......the.PolyLib.is.th
13d00 65 20 33 32 62 69 74 73 20 6f 72 20 69 66 20 74 68 65 20 75 73 65 72 20 67 69 76 65 20 74 6f 20 e.32bits.or.if.the.user.give.to.
13d20 60 63 6f 6e 66 69 67 75 72 65 27 20 74 68 65 0a 20 20 20 20 20 6f 70 74 69 6f 6e 20 60 2d 2d 77 `configure'.the......option.`--w
13d40 69 74 68 2d 62 69 74 73 3d 33 32 27 2c 20 74 68 65 20 33 32 62 69 74 73 20 76 65 72 73 69 6f 6e ith-bits=32',.the.32bits.version
13d60 20 6f 66 20 43 4c 6f 6f 47 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 63 6f 6d 70 69 6c 65 64 2e .of.CLooG.will.be......compiled.
13d80 20 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 60 2d 2d .In.the.same.way,.the.option.`--
13da0 77 69 74 68 2d 62 69 74 73 3d 67 6d 70 27 20 68 61 76 65 20 74 6f 20 62 65 0a 20 20 20 20 20 75 with-bits=gmp'.have.to.be......u
13dc0 73 65 64 20 74 6f 20 62 75 69 6c 64 20 74 68 65 20 6d 75 6c 74 69 70 6c 65 20 70 72 65 63 69 73 sed.to.build.the.multiple.precis
13de0 69 6f 6e 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 2a 20 42 79 20 64 65 66 61 75 6c 74 2c 20 60 ion.version......*.By.default,.`
13e00 63 6f 6e 66 69 67 75 72 65 27 20 77 69 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 47 4d 50 configure'.will.look.for.the.GMP
13e20 20 6c 69 62 72 61 72 79 20 28 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 20 74 6f 20 62 75 69 6c .library.(necessary......to.buil
13e40 64 20 74 68 65 20 6d 75 6c 74 69 70 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e d.the.multiple.precision.version
13e60 29 20 69 6e 20 73 74 61 6e 64 61 72 64 20 6c 6f 63 61 74 69 6f 6e 73 2e 20 49 66 0a 20 20 20 20 ).in.standard.locations..If.....
13e80 20 6e 65 63 65 73 73 61 72 79 2c 20 74 68 65 20 75 73 65 72 20 63 61 6e 20 73 70 65 63 69 66 79 .necessary,.the.user.can.specify
13ea0 20 74 68 65 20 47 4d 50 20 70 61 74 68 20 62 79 20 67 69 76 69 6e 67 20 60 63 6f 6e 66 69 67 75 .the.GMP.path.by.giving.`configu
13ec0 72 65 27 0a 20 20 20 20 20 74 68 65 20 6f 70 74 69 6f 6e 20 60 2d 2d 77 69 74 68 2d 67 6d 70 3d re'......the.option.`--with-gmp=
13ee0 50 41 54 48 27 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 PATH'.....File:.cloog.info,..Nod
13f00 65 3a 20 55 6e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 50 72 65 76 3a 20 4f 70 74 69 6f 6e e:.Uninstallation,..Prev:.Option
13f20 61 6c 20 46 65 61 74 75 72 65 73 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 69 6e 67 0a 0a 34 2e al.Features,..Up:.Installing..4.
13f40 35 20 55 6e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5.Uninstallation.===============
13f60 3d 3d 3d 0a 0a 54 68 65 20 75 73 65 72 20 63 61 6e 20 65 61 73 69 6c 79 20 72 65 6d 6f 76 65 20 ===..The.user.can.easily.remove.
13f80 74 68 65 20 43 4c 6f 6f 47 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 6c 69 62 72 61 72 79 20 66 the.CLooG.software.and.library.f
13fa0 72 6f 6d 20 68 69 73 0a 73 79 73 74 65 6d 20 62 79 20 74 79 70 69 6e 67 20 28 61 73 20 72 6f 6f rom.his.system.by.typing.(as.roo
13fc0 74 20 69 66 20 6e 65 63 65 73 73 61 72 79 29 20 66 72 6f 6d 20 74 68 65 20 43 4c 6f 6f 47 20 74 t.if.necessary).from.the.CLooG.t
13fe0 6f 70 2d 6c 65 76 65 6c 0a 64 69 72 65 63 74 6f 72 79 20 60 6d 61 6b 65 20 75 6e 69 6e 73 74 61 op-level.directory.`make.uninsta
14000 6c 6c 27 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ll'.....File:.cloog.info,..Node:
14020 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 52 65 66 65 72 65 6e 63 65 .Documentation,..Next:.Reference
14040 73 2c 20 20 50 72 65 76 3a 20 49 6e 73 74 61 6c 6c 69 6e 67 2c 20 20 55 70 3a 20 54 6f 70 0a 0a s,..Prev:.Installing,..Up:.Top..
14060 35 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 5.Documentation.***************.
14080 0a 54 68 65 20 43 4c 6f 6f 47 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 70 72 6f 76 69 64 65 73 .The.CLooG.distribution.provides
140a0 20 73 65 76 65 72 61 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 6f 75 72 63 65 73 2e 20 .several.documentation.sources..
140c0 46 69 72 73 74 2c 0a 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 74 73 65 6c 66 20 69 73 First,.the.source.code.itself.is
140e0 20 61 73 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 73 20 70 6f 73 73 69 62 6c 65 2e 20 54 68 65 20 .as.documented.as.possible..The.
14100 63 6f 64 65 20 63 6f 6d 6d 65 6e 74 73 0a 75 73 65 20 61 20 44 6f 78 79 67 65 6e 2d 63 6f 6d 70 code.comments.use.a.Doxygen-comp
14120 61 74 69 62 6c 65 20 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 28 73 6f 6d 65 74 68 69 6e 67 20 73 atible.presentation.(something.s
14140 69 6d 69 6c 61 72 20 74 6f 20 77 68 61 74 0a 4a 61 76 61 44 6f 63 20 64 6f 65 73 20 66 6f 72 20 imilar.to.what.JavaDoc.does.for.
14160 4a 41 56 41 29 2e 20 54 68 65 20 75 73 65 72 20 6d 61 79 20 69 6e 73 74 61 6c 6c 20 44 6f 78 79 JAVA)..The.user.may.install.Doxy
14180 67 65 6e 20 28 73 65 65 0a 60 68 74 74 70 3a 2f 2f 77 77 77 2e 73 74 61 63 6b 2e 6e 6c 2f 7e 64 gen.(see.`http://www.stack.nl/~d
141a0 69 6d 69 74 72 69 2f 64 6f 78 79 67 65 6e 27 29 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c imitri/doxygen').to.automaticall
141c0 79 20 67 65 6e 65 72 61 74 65 20 61 0a 74 65 63 68 6e 69 63 61 6c 20 64 6f 63 75 6d 65 6e 74 61 y.generate.a.technical.documenta
141e0 74 69 6f 6e 20 62 79 20 74 79 70 69 6e 67 20 60 6d 61 6b 65 20 64 6f 63 27 20 6f 72 20 60 64 6f tion.by.typing.`make.doc'.or.`do
14200 78 79 67 65 6e 0a 2e 2f 61 75 74 6f 63 6f 6e 66 2f 44 6f 78 79 66 69 6c 65 27 20 61 74 20 74 68 xygen../autoconf/Doxyfile'.at.th
14220 65 20 43 4c 6f 6f 47 20 74 6f 70 2d 6c 65 76 65 6c 20 64 69 72 65 63 74 6f 72 79 20 61 66 74 65 e.CLooG.top-level.directory.afte
14240 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 0a 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 20 28 r.running.the.configure.script.(
14260 2a 6e 6f 74 65 20 49 6e 73 74 61 6c 6c 69 6e 67 3a 3a 29 2e 20 44 6f 78 79 67 65 6e 20 77 69 6c *note.Installing::)..Doxygen.wil
14280 6c 20 67 65 6e 65 72 61 74 65 0a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 6f 75 72 63 65 73 l.generate.documentation.sources
142a0 20 28 69 6e 20 48 54 4d 4c 2c 20 4c 61 54 65 58 20 61 6e 64 20 6d 61 6e 29 20 69 6e 20 74 68 65 .(in.HTML,.LaTeX.and.man).in.the
142c0 20 60 64 6f 63 2f 73 6f 75 72 63 65 27 0a 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 43 .`doc/source'.directory.of.the.C
142e0 4c 6f 6f 47 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 65 20 54 65 78 69 6e LooG.distribution......The.Texin
14300 66 6f 20 73 6f 75 72 63 65 73 20 6f 66 20 74 68 65 20 70 72 65 73 65 6e 74 20 64 6f 63 75 6d 65 fo.sources.of.the.present.docume
14320 6e 74 20 61 72 65 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 64 20 69 6e 20 74 68 65 0a 60 64 6f 63 nt.are.also.provided.in.the.`doc
14340 27 20 64 69 72 65 63 74 6f 72 79 2e 20 59 6f 75 20 63 61 6e 20 62 75 69 6c 64 20 69 74 20 69 6e '.directory..You.can.build.it.in
14360 20 65 69 74 68 65 72 20 44 56 49 20 66 6f 72 6d 61 74 20 28 62 79 20 74 79 70 69 6e 67 0a 60 74 .either.DVI.format.(by.typing.`t
14380 65 78 69 32 64 76 69 20 63 6c 6f 6f 67 2e 74 65 78 69 27 29 20 6f 72 20 50 44 46 20 66 6f 72 6d exi2dvi.cloog.texi').or.PDF.form
143a0 61 74 20 28 62 79 20 74 79 70 69 6e 67 20 60 74 65 78 69 32 70 64 66 20 63 6c 6f 6f 67 2e 74 65 at.(by.typing.`texi2pdf.cloog.te
143c0 78 69 27 29 0a 6f 72 20 48 54 4d 4c 20 66 6f 72 6d 61 74 20 28 62 79 20 74 79 70 69 6e 67 20 60 xi').or.HTML.format.(by.typing.`
143e0 6d 61 6b 65 69 6e 66 6f 20 2d 2d 68 74 6d 6c 20 63 6c 6f 6f 67 2e 74 65 78 69 27 2c 20 75 73 69 makeinfo.--html.cloog.texi',.usi
14400 6e 67 0a 60 2d 2d 6e 6f 2d 73 70 6c 69 74 27 20 6f 70 74 69 6f 6e 20 74 6f 20 67 65 6e 65 72 61 ng.`--no-split'.option.to.genera
14420 74 65 20 61 20 73 69 6e 67 6c 65 20 48 54 4d 4c 20 66 69 6c 65 29 20 6f 72 20 69 6e 66 6f 20 66 te.a.single.HTML.file).or.info.f
14440 6f 72 6d 61 74 20 28 62 79 0a 74 79 70 69 6e 67 20 60 6d 61 6b 65 69 6e 66 6f 20 63 6c 6f 6f 67 ormat.(by.typing.`makeinfo.cloog
14460 2e 74 65 78 69 27 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 63 6c 6f 6f 67 2e 69 6e 66 6f 2c 20 20 4e .texi').....File:.cloog.info,..N
14480 6f 64 65 3a 20 52 65 66 65 72 65 6e 63 65 73 2c 20 20 50 72 65 76 3a 20 44 6f 63 75 6d 65 6e 74 ode:.References,..Prev:.Document
144a0 61 74 69 6f 6e 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 36 20 52 65 66 65 72 65 6e 63 65 73 0a 2a 2a ation,..Up:.Top..6.References.**
144c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 20 20 20 2a 20 5b 42 61 73 30 33 61 5d 20 43 2e 20 42 61 73 **********.....*.[Bas03a].C..Bas
144e0 74 6f 75 6c 2c 20 50 2e 20 46 65 61 75 74 72 69 65 72 2e 20 49 6d 70 72 6f 76 69 6e 67 20 64 61 toul,.P..Feautrier..Improving.da
14500 74 61 20 6c 6f 63 61 6c 69 74 79 20 62 79 0a 20 20 20 20 20 63 68 75 6e 6b 69 6e 67 2e 20 43 43 ta.locality.by......chunking..CC
14520 27 31 32 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6e 66 65 72 65 6e 63 65 20 6f 6e 20 '12.International.Conference.on.
14540 43 6f 6d 70 69 6c 65 72 20 43 6f 6e 73 74 72 75 63 74 69 6f 6e 2c 0a 20 20 20 20 20 4c 4e 43 53 Compiler.Construction,......LNCS
14560 20 32 36 32 32 2c 20 70 61 67 65 73 20 33 32 30 2d 33 33 35 2c 20 57 61 72 73 61 77 2c 20 61 70 .2622,.pages.320-335,.Warsaw,.ap
14580 72 69 6c 20 32 30 30 33 2e 0a 0a 20 20 20 2a 20 5b 42 61 73 30 33 62 5d 20 43 2e 20 42 61 73 74 ril.2003......*.[Bas03b].C..Bast
145a0 6f 75 6c 2e 20 45 66 66 69 63 69 65 6e 74 20 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 66 oul..Efficient.code.generation.f
145c0 6f 72 20 61 75 74 6f 6d 61 74 69 63 0a 20 20 20 20 20 70 61 72 61 6c 6c 65 6c 69 7a 61 74 69 6f or.automatic......parallelizatio
145e0 6e 20 61 6e 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 20 49 53 50 44 43 27 30 33 20 49 45 45 n.and.optimization..ISPDC'03.IEE
14600 45 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 0a 20 20 20 20 20 53 79 6d 70 6f 73 69 75 6d 20 6f E.International......Symposium.o
14620 6e 20 50 61 72 61 6c 6c 65 6c 20 61 6e 64 20 44 69 73 74 72 69 62 75 74 65 64 20 43 6f 6d 70 75 n.Parallel.and.Distributed.Compu
14640 74 69 6e 67 2c 20 70 61 67 65 73 20 32 33 2d 33 30 2c 0a 20 20 20 20 20 4c 6a 75 62 6c 6a 61 6e ting,.pages.23-30,......Ljubljan
14660 61 2c 20 6f 63 74 6f 62 65 72 20 32 30 30 33 2e 0a 0a 20 20 20 2a 20 5b 42 61 73 30 34 5d 20 43 a,.october.2003......*.[Bas04].C
14680 2e 20 42 61 73 74 6f 75 6c 2e 20 43 6f 64 65 20 47 65 6e 65 72 61 74 69 6f 6e 20 69 6e 20 74 68 ..Bastoul..Code.Generation.in.th
146a0 65 20 50 6f 6c 79 68 65 64 72 61 6c 20 4d 6f 64 65 6c 20 49 73 0a 20 20 20 20 20 45 61 73 69 65 e.Polyhedral.Model.Is......Easie
146c0 72 20 54 68 61 6e 20 59 6f 75 20 54 68 69 6e 6b 2e 20 50 41 43 54 27 31 33 20 49 45 45 45 20 49 r.Than.You.Think..PACT'13.IEEE.I
146e0 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 20 43 6f 6e 66 65 72 65 6e 63 65 20 6f 6e 0a 20 20 20 20 20 nternational.Conference.on......
14700 50 61 72 61 6c 6c 65 6c 20 41 72 63 68 69 74 65 63 74 75 72 65 20 61 6e 64 20 43 6f 6d 70 69 6c Parallel.Architecture.and.Compil
14720 61 74 69 6f 6e 20 54 65 63 68 6e 69 71 75 65 73 2c 20 70 61 67 65 73 20 37 2d 31 36 2c 0a 20 20 ation.Techniques,.pages.7-16,...
14740 20 20 20 4a 75 61 6e 2d 6c 65 73 2d 50 69 6e 73 2c 20 73 65 70 74 65 6d 62 65 72 20 32 30 30 34 ...Juan-les-Pins,.september.2004
14760 2e 0a 0a 20 20 20 2a 20 5b 46 65 61 39 32 5d 20 50 2e 20 46 65 61 75 74 72 69 65 72 20 53 6f 6d ......*.[Fea92].P..Feautrier.Som
14780 65 20 65 66 66 69 63 69 65 6e 74 20 73 6f 6c 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 61 66 66 e.efficient.solutions.to.the.aff
147a0 69 6e 65 0a 20 20 20 20 20 73 63 68 65 64 75 6c 69 6e 67 20 70 72 6f 62 6c 65 6d 2c 20 70 61 72 ine......scheduling.problem,.par
147c0 74 20 49 49 3a 20 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 74 69 6d 65 2e 20 20 49 6e t.II:.multidimensional.time...In
147e0 74 65 72 6e 61 74 69 6f 6e 61 6c 0a 20 20 20 20 20 4a 6f 75 72 6e 61 6c 20 6f 66 20 50 61 72 61 ternational......Journal.of.Para
14800 6c 6c 65 6c 20 50 72 6f 67 72 61 6d 6d 69 6e 67 2c 20 32 31 28 36 29 3a 33 38 39 2d 34 32 30 2c llel.Programming,.21(6):389-420,
14820 20 44 65 63 65 6d 62 65 72 20 31 39 39 32 2e 0a 0a 20 20 20 2a 20 5b 47 72 69 30 34 5d 20 4d 2e .December.1992......*.[Gri04].M.
14840 20 47 72 69 65 62 6c 2e 20 41 75 74 6f 6d 61 74 69 63 20 70 61 72 61 6c 6c 65 6c 69 7a 61 74 69 .Griebl..Automatic.parallelizati
14860 6f 6e 20 6f 66 20 6c 6f 6f 70 20 70 72 6f 67 72 61 6d 73 20 66 6f 72 0a 20 20 20 20 20 64 69 73 on.of.loop.programs.for......dis
14880 74 72 69 62 75 74 65 64 20 6d 65 6d 6f 72 79 20 61 72 63 68 69 74 65 63 74 75 72 65 73 2e 20 48 tributed.memory.architectures..H
148a0 61 62 69 6c 69 74 61 74 69 6f 6e 20 54 68 65 73 69 73 2e 20 46 61 63 75 6c 74 61 22 74 0a 20 20 abilitation.Thesis..Faculta"t...
148c0 20 20 20 66 75 22 72 20 4d 61 74 68 65 6d 61 74 69 6b 20 75 6e 64 20 49 6e 66 6f 72 6d 61 74 69 ...fu"r.Mathematik.und.Informati
148e0 6b 2c 20 55 6e 69 76 65 72 73 69 74 61 22 74 20 50 61 73 73 61 75 2c 20 32 30 30 34 2e 0a 20 20 k,.Universita"t.Passau,.2004....
14900 20 20 20 5f 68 74 74 70 3a 2f 2f 77 77 77 2e 69 6e 66 6f 73 75 6e 2e 66 6d 69 2e 75 6e 69 2d 70 ..._http://www.infosun.fmi.uni-p
14920 61 73 73 61 75 2e 64 65 2f 63 6c 2f 6c 6f 6f 70 6f 2f 5f 0a 0a 20 20 20 2a 20 5b 51 75 69 30 30 assau.de/cl/loopo/_.....*.[Qui00
14940 5d 20 46 2e 20 51 75 69 6c 6c 65 72 65 27 2c 20 53 2e 20 52 61 6a 6f 70 61 64 68 79 65 2c 20 61 ].F..Quillere',.S..Rajopadhye,.a
14960 6e 64 20 44 2e 20 57 69 6c 64 65 2e 20 20 47 65 6e 65 72 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 nd.D..Wilde...Generation.of.....
14980 20 65 66 66 69 63 69 65 6e 74 20 6e 65 73 74 65 64 20 6c 6f 6f 70 73 20 66 72 6f 6d 20 70 6f 6c .efficient.nested.loops.from.pol
149a0 79 68 65 64 72 61 2e 20 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 20 4a 6f 75 72 6e 61 6c 20 6f yhedra...International.Journal.o
149c0 66 0a 20 20 20 20 20 50 61 72 61 6c 6c 65 6c 20 50 72 6f 67 72 61 6d 6d 69 6e 67 2c 20 32 38 28 f......Parallel.Programming,.28(
149e0 35 29 3a 34 36 39 2d 34 39 38 2c 20 6f 63 74 6f 62 65 72 20 32 30 30 30 2e 0a 0a 20 20 20 2a 20 5):469-498,.october.2000......*.
14a00 5b 57 69 6c 39 33 5d 20 44 6f 72 61 6e 20 4b 2e 20 57 69 6c 64 65 2e 20 20 41 20 6c 69 62 72 61 [Wil93].Doran.K..Wilde...A.libra
14a20 72 79 20 66 6f 72 20 64 6f 69 6e 67 20 70 6f 6c 79 68 65 64 72 61 6c 20 6f 70 65 72 61 74 69 6f ry.for.doing.polyhedral.operatio
14a40 6e 73 2e 0a 20 20 20 20 20 54 65 63 68 6e 69 63 61 6c 20 52 65 70 6f 72 74 20 37 38 35 2c 20 49 ns.......Technical.Report.785,.I
14a60 52 49 53 41 2c 20 52 65 6e 6e 65 73 2c 20 46 72 61 6e 63 65 2c 20 31 39 39 33 2e 0a 0a 0a 0a 1f RISA,.Rennes,.France,.1993......
14a80 0a 54 61 67 20 54 61 62 6c 65 3a 0a 4e 6f 64 65 3a 20 54 6f 70 7f 31 34 33 39 0a 4e 6f 64 65 3a .Tag.Table:.Node:.Top.1439.Node:
14aa0 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 7f 32 38 35 37 0a 4e 6f 64 65 3a 20 42 61 73 69 63 73 7f .Introduction.2857.Node:.Basics.
14ac0 35 32 38 33 0a 4e 6f 64 65 3a 20 53 63 61 74 74 65 72 69 6e 67 7f 37 39 36 31 0a 4e 6f 64 65 3a 5283.Node:.Scattering.7961.Node:
14ae0 20 43 4c 6f 6f 47 20 53 6f 66 74 77 61 72 65 7f 31 32 36 32 38 0a 4e 6f 64 65 3a 20 41 20 46 69 .CLooG.Software.12628.Node:.A.Fi
14b00 72 73 74 20 45 78 61 6d 70 6c 65 7f 31 32 38 38 39 0a 4e 6f 64 65 3a 20 57 72 69 74 69 6e 67 20 rst.Example.12889.Node:.Writing.
14b20 54 68 65 20 49 6e 70 75 74 20 46 69 6c 65 7f 31 35 38 30 35 0a 4e 6f 64 65 3a 20 44 6f 6d 61 69 The.Input.File.15805.Node:.Domai
14b40 6e 20 52 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 7f 32 30 30 38 34 0a 4e 6f 64 65 3a 20 53 63 61 n.Representation.20084.Node:.Sca
14b60 74 74 65 72 69 6e 67 20 52 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 7f 32 32 35 31 36 0a 4e 6f 64 ttering.Representation.22516.Nod
14b80 65 3a 20 43 61 6c 6c 69 6e 67 20 43 4c 6f 6f 47 7f 32 36 31 38 38 0a 4e 6f 64 65 3a 20 43 4c 6f e:.Calling.CLooG.26188.Node:.CLo
14ba0 6f 47 20 4f 70 74 69 6f 6e 73 7f 32 36 39 37 36 0a 4e 6f 64 65 3a 20 4c 61 73 74 20 44 65 70 74 oG.Options.26976.Node:.Last.Dept
14bc0 68 20 74 6f 20 4f 70 74 69 6d 69 7a 65 20 43 6f 6e 74 72 6f 6c 7f 32 37 34 35 30 0a 4e 6f 64 65 h.to.Optimize.Control.27450.Node
14be0 3a 20 46 69 72 73 74 20 44 65 70 74 68 20 74 6f 20 4f 70 74 69 6d 69 7a 65 20 43 6f 6e 74 72 6f :.First.Depth.to.Optimize.Contro
14c00 6c 7f 32 39 30 34 33 0a 4e 6f 64 65 3a 20 53 69 6d 70 6c 69 66 79 20 43 6f 6e 76 65 78 20 48 75 l.29043.Node:.Simplify.Convex.Hu
14c20 6c 6c 7f 33 30 31 32 38 0a 4e 6f 64 65 3a 20 4f 6e 63 65 20 54 69 6d 65 20 4c 6f 6f 70 20 45 6c ll.30128.Node:.Once.Time.Loop.El
14c40 69 6d 69 6e 61 74 69 6f 6e 7f 33 31 34 33 35 0a 4e 6f 64 65 3a 20 45 71 75 61 6c 69 74 79 20 53 imination.31435.Node:.Equality.S
14c60 70 72 65 61 64 69 6e 67 7f 33 32 30 32 34 0a 4e 6f 64 65 3a 20 43 6f 6e 73 74 61 6e 74 20 53 70 preading.32024.Node:.Constant.Sp
14c80 72 65 61 64 69 6e 67 7f 33 32 36 36 33 0a 4e 6f 64 65 3a 20 46 69 72 73 74 20 4c 65 76 65 6c 20 reading.32663.Node:.First.Level.
14ca0 66 6f 72 20 53 70 72 65 61 64 69 6e 67 7f 33 33 33 38 38 0a 4e 6f 64 65 3a 20 43 20 50 72 65 50 for.Spreading.33388.Node:.C.PreP
14cc0 72 6f 63 65 73 73 6f 72 20 46 72 69 65 6e 64 6c 79 7f 33 34 33 33 36 0a 4e 6f 64 65 3a 20 53 74 rocessor.Friendly.34336.Node:.St
14ce0 61 74 65 6d 65 6e 74 20 42 6c 6f 63 6b 7f 33 35 34 33 38 0a 4e 6f 64 65 3a 20 4c 6f 6f 70 20 53 atement.Block.35438.Node:.Loop.S
14d00 74 72 69 64 65 73 7f 33 36 32 30 39 0a 4e 6f 64 65 3a 20 43 6f 6d 70 69 6c 61 62 6c 65 20 43 6f trides.36209.Node:.Compilable.Co
14d20 64 65 7f 33 37 30 30 32 0a 4e 6f 64 65 3a 20 4f 75 74 70 75 74 7f 33 38 36 36 39 0a 4e 6f 64 65 de.37002.Node:.Output.38669.Node
14d40 3a 20 48 65 6c 70 7f 33 38 39 36 38 0a 4e 6f 64 65 3a 20 56 65 72 73 69 6f 6e 7f 33 39 31 37 35 :.Help.38968.Node:.Version.39175
14d60 0a 4e 6f 64 65 3a 20 46 75 6c 6c 20 45 78 61 6d 70 6c 65 7f 33 39 33 39 35 0a 4e 6f 64 65 3a 20 .Node:.Full.Example.39395.Node:.
14d80 43 4c 6f 6f 47 20 4c 69 62 72 61 72 79 7f 34 34 34 33 37 0a 4e 6f 64 65 3a 20 43 4c 6f 6f 47 20 CLooG.Library.44437.Node:.CLooG.
14da0 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 7f 34 35 34 31 39 0a 4e 6f 64 65 3a 20 43 6c 6f 6f Data.Structures.45419.Node:.Cloo
14dc0 67 4d 61 74 72 69 78 7f 34 35 39 30 30 0a 4e 6f 64 65 3a 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 7f gMatrix.45900.Node:.CloogDomain.
14de0 34 38 31 37 30 0a 4e 6f 64 65 3a 20 43 6c 6f 6f 67 44 6f 6d 61 69 6e 4c 69 73 74 7f 35 30 30 36 48170.Node:.CloogDomainList.5006
14e00 31 0a 4e 6f 64 65 3a 20 43 6c 6f 6f 67 53 74 61 74 65 6d 65 6e 74 7f 35 30 34 36 38 0a 4e 6f 64 1.Node:.CloogStatement.50468.Nod
14e20 65 3a 20 43 6c 6f 6f 67 42 6c 6f 63 6b 7f 35 31 34 32 39 0a 4e 6f 64 65 3a 20 43 6c 6f 6f 67 42 e:.CloogBlock.51429.Node:.CloogB
14e40 6c 6f 63 6b 4c 69 73 74 7f 35 32 36 30 34 0a 4e 6f 64 65 3a 20 43 6c 6f 6f 67 4c 6f 6f 70 7f 35 lockList.52604.Node:.CloogLoop.5
14e60 32 39 39 35 0a 4e 6f 64 65 3a 20 43 6c 6f 6f 67 4e 61 6d 65 73 7f 35 34 31 39 37 0a 4e 6f 64 65 2995.Node:.CloogNames.54197.Node
14e80 3a 20 43 6c 6f 6f 67 50 72 6f 67 72 61 6d 7f 35 35 35 38 36 0a 4e 6f 64 65 3a 20 43 6c 6f 6f 67 :.CloogProgram.55586.Node:.Cloog
14ea0 4f 70 74 69 6f 6e 73 7f 36 31 38 35 33 0a 4e 6f 64 65 3a 20 43 4c 6f 6f 47 20 46 75 6e 63 74 69 Options.61853.Node:.CLooG.Functi
14ec0 6f 6e 73 7f 36 33 35 30 32 0a 4e 6f 64 65 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d 5f 67 65 ons.63502.Node:.cloog_program_ge
14ee0 6e 65 72 61 74 65 7f 36 33 39 35 36 0a 4e 6f 64 65 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 6d nerate.63956.Node:.cloog_program
14f00 5f 70 70 72 69 6e 74 7f 36 37 35 33 37 0a 4e 6f 64 65 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 72 61 _pprint.67537.Node:.cloog_progra
14f20 6d 5f 73 63 61 74 74 65 72 7f 36 38 32 32 34 0a 4e 6f 64 65 3a 20 63 6c 6f 6f 67 5f 70 72 6f 67 m_scatter.68224.Node:.cloog_prog
14f40 72 61 6d 5f 72 65 61 64 7f 36 39 33 36 38 0a 4e 6f 64 65 3a 20 46 72 6f 6d 20 4d 61 74 72 69 63 ram_read.69368.Node:.From.Matric
14f60 65 73 20 74 6f 20 44 6f 6d 61 69 6e 73 20 61 6e 64 20 43 6f 6e 76 65 72 73 65 6c 79 7f 36 39 38 es.to.Domains.and.Conversely.698
14f80 36 34 0a 4e 6f 64 65 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 20 49 6e 69 74 69 61 6c 69 64.Node:.Allocation.and.Initiali
14fa0 7a 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 7f 37 30 36 38 34 0a 4e 6f 64 65 3a 20 4d 65 6d zation.Functions.70684.Node:.Mem
14fc0 6f 72 79 20 44 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 46 75 6e 63 74 69 6f 6e 73 7f 37 31 37 36 37 ory.Deallocation.Functions.71767
14fe0 0a 4e 6f 64 65 3a 20 50 72 69 6e 74 69 6e 67 20 46 75 6e 63 74 69 6f 6e 73 7f 37 32 36 32 32 0a .Node:.Printing.Functions.72622.
15000 4e 6f 64 65 3a 20 45 78 61 6d 70 6c 65 20 6f 66 20 4c 69 62 72 61 72 79 20 55 74 69 6c 69 7a 61 Node:.Example.of.Library.Utiliza
15020 74 69 6f 6e 7f 37 33 32 31 31 0a 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 69 6e 67 7f 37 34 35 33 tion.73211.Node:.Installing.7453
15040 33 0a 4e 6f 64 65 3a 20 4c 69 63 65 6e 73 65 7f 37 34 37 36 38 0a 4e 6f 64 65 3a 20 52 65 71 75 3.Node:.License.74768.Node:.Requ
15060 69 72 65 6d 65 6e 74 73 7f 37 35 36 32 37 0a 4e 6f 64 65 3a 20 50 6f 6c 79 4c 69 62 7f 37 35 38 irements.75627.Node:.PolyLib.758
15080 30 31 0a 4e 6f 64 65 3a 20 47 4d 50 20 4c 69 62 72 61 72 79 7f 37 37 34 35 37 0a 4e 6f 64 65 3a 01.Node:.GMP.Library.77457.Node:
150a0 20 42 61 73 69 63 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 7f 37 38 34 35 31 0a 4e 6f 64 65 3a 20 .Basic.Installation.78451.Node:.
150c0 4f 70 74 69 6f 6e 61 6c 20 46 65 61 74 75 72 65 73 7f 37 39 35 38 38 0a 4e 6f 64 65 3a 20 55 6e Optional.Features.79588.Node:.Un
150e0 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 7f 38 31 36 34 30 0a 4e 6f 64 65 3a 20 44 6f 63 75 6d 65 6e installation.81640.Node:.Documen
15100 74 61 74 69 6f 6e 7f 38 31 39 32 36 0a 4e 6f 64 65 3a 20 52 65 66 65 72 65 6e 63 65 73 7f 38 33 tation.81926.Node:.References.83
15120 30 35 30 0a 52 65 66 3a 20 42 61 73 30 33 61 7f 38 33 31 35 33 0a 52 65 66 3a 20 42 61 73 30 33 050.Ref:.Bas03a.83153.Ref:.Bas03
15140 62 7f 38 33 33 34 34 0a 52 65 66 3a 20 42 61 73 30 34 7f 38 33 35 37 35 0a 52 65 66 3a 20 46 65 b.83344.Ref:.Bas04.83575.Ref:.Fe
15160 61 39 32 7f 38 33 38 31 36 0a 52 65 66 3a 20 47 72 69 30 34 7f 38 34 30 32 32 0a 52 65 66 3a 20 a92.83816.Ref:.Gri04.84022.Ref:.
15180 51 75 69 30 30 7f 38 34 32 38 32 0a 52 65 66 3a 20 57 69 6c 39 33 7f 38 34 34 38 30 0a 1f 0a 45 Qui00.84282.Ref:.Wil93.84480...E
151a0 6e 64 20 54 61 67 20 54 61 62 6c 65 0a nd.Tag.Table.