File: Lattice_8h.html

package info (click to toggle)
polylib 5.22.5-3%2Bdfsg
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch, wheezy
  • size: 14,444 kB
  • ctags: 52,958
  • sloc: ansic: 16,342; sh: 10,134; makefile: 560
file content (796 lines) | stat: -rw-r--r-- 56,786 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>polylib: Lattice.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Lattice.h File Reference</h1>
<p><a href="Lattice_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a4d75ea3bed92d944fc4be0ec7e08bd15">AffineHermite</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, <a class="el" href="structmatrix.html">Lattice</a> **H, <a class="el" href="structmatrix.html">Matrix</a> **U)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#aceafe2570bfa2354e04412151d903094">AffineSmith</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, <a class="el" href="structmatrix.html">Lattice</a> **U, <a class="el" href="structmatrix.html">Lattice</a> **V, <a class="el" href="structmatrix.html">Lattice</a> **Diag)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a2e1e0a75d5fb3ddf7cac35b0c6ffc75b">ChangeLatticeDimension</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, int dimension)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#aab7550d1f894cc88fe630ce56f502184">EmptyLattice</a> (int dimension)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a009f469f3f4110d9035d36fa040dd176">ExtractLinearPart</a> (<a class="el" href="structmatrix.html">Lattice</a> *A)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#aee5cf58a5c79a49ada7909b84440499a">FindHermiteBasisofDomain</a> (<a class="el" href="structpolyhedron.html">Polyhedron</a> *A, <a class="el" href="structmatrix.html">Matrix</a> **B)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a00c3710631cd7f82d65329751095e78b">Homogenise</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, <a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a> Forward)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#ab4a31767671350bb32e2ffb875348ac6">intcompare</a> (const void *a, const void *b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a7a9a551062ace0251e9bb0ea6b74c860">isEmptyLattice</a> (<a class="el" href="structmatrix.html">Lattice</a> *A)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#aa55a58802da206d773cbaf5d6ffb90a5">isfulldim</a> (<a class="el" href="structmatrix.html">Matrix</a> *<a class="el" href="polyparam_8c.html#a742204794ea328ba293fe59cec79b990">m</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a2b6cf7c3438a407cd28d6ea0c9219d1b">IsLattice</a> (<a class="el" href="structmatrix.html">Matrix</a> *<a class="el" href="polyparam_8c.html#a742204794ea328ba293fe59cec79b990">m</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a59f5ebfe98faf74f9b9628d0f484fece">isLinear</a> (<a class="el" href="structmatrix.html">Lattice</a> *A)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structLatticeUnion.html">LatticeUnion</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a31fa008ccc3304ba29e3167b17c61b70">LatticeDifference</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, <a class="el" href="structmatrix.html">Lattice</a> *B)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Method :.  <a href="#a31fa008ccc3304ba29e3167b17c61b70"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#ac67608cf4d08c51aa76da79051507fd4">LatticeImage</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, <a class="el" href="structmatrix.html">Matrix</a> *M)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#abe494c899b1c641aedcb95fec4719070">LatticeIncludes</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, <a class="el" href="structmatrix.html">Lattice</a> *B)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#adb689baac30514102da4520b751c199d">LatticeIntersection</a> (<a class="el" href="structmatrix.html">Lattice</a> *X, <a class="el" href="structmatrix.html">Lattice</a> *Y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a0c4b5df1248325964344c44d1b3b93ed">LatticePreimage</a> (<a class="el" href="structmatrix.html">Lattice</a> *L, <a class="el" href="structmatrix.html">Matrix</a> *G)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structLatticeUnion.html">LatticeUnion</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#abcae5a642b26c67f65db8de16cca6064">LatticeSimplify</a> (<a class="el" href="structLatticeUnion.html">LatticeUnion</a> *latlist)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structLatticeUnion.html">LatticeUnion</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a3ec0f98cd150dbf78ef0a604c0eb74ff">LatticeUnion_Alloc</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#ad405c032776bc0e029b1d431b3cab314">LatticeUnion_Free</a> (<a class="el" href="structLatticeUnion.html">LatticeUnion</a> *Head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#ae9589a3920f117a40663271977a9a84a">PrintLatticeUnion</a> (FILE *fp, char *format, <a class="el" href="structLatticeUnion.html">LatticeUnion</a> *Head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a6a82f4f5730f8c7b5b912e3a7b55dbb4">sameAffinepart</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, <a class="el" href="structmatrix.html">Lattice</a> *B)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#aec768b41c299f9545319f655a3d2fd1a">sameLattice</a> (<a class="el" href="structmatrix.html">Lattice</a> *A, <a class="el" href="structmatrix.html">Lattice</a> *B)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structLatticeUnion.html">LatticeUnion</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Lattice_8h.html#a020989e31cbf7e9cf32b85c4078fcb65">Lattice2LatticeUnion</a> (<a class="el" href="structmatrix.html">Lattice</a> *X, <a class="el" href="structmatrix.html">Lattice</a> *Y)</td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a4d75ea3bed92d944fc4be0ec7e08bd15"></a><!-- doxytag: member="Lattice.h::AffineHermite" ref="a4d75ea3bed92d944fc4be0ec7e08bd15" args="(Lattice *A, Lattice **H, Matrix **U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AffineHermite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> **&nbsp;</td>
          <td class="paramname"> <em>H</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> **&nbsp;</td>
          <td class="paramname"> <em>U</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00176">176</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="NormalForms_8c_source.html#l00670">Hermite()</a>, <a class="el" href="Lattice_8c_source.html#l00312">Homogenise()</a>, <a class="el" href="Lattice_8c_source.html#l00145">isLinear()</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, and <a class="el" href="types_8h_source.html#l00234">True</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l00928">AddLattice()</a>, <a class="el" href="Zpolyhedron_8c_source.html#l00170">AddZPolytoZDomain()</a>, <a class="el" href="Zpolyhedron_8c_source.html#l00761">CanonicalForm()</a>, <a class="el" href="Lattice_8c_source.html#l00814">LatticeDifference()</a>, <a class="el" href="Lattice_8c_source.html#l00340">LatticeIncludes()</a>, <a class="el" href="Lattice_8c_source.html#l00475">LatticeIntersection()</a>, <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, <a class="el" href="Lattice_8c_source.html#l00371">sameLattice()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00971">SplitZpolyhedron()</a>.</p>

</div>
</div>
<a class="anchor" id="aceafe2570bfa2354e04412151d903094"></a><!-- doxytag: member="Lattice.h::AffineSmith" ref="aceafe2570bfa2354e04412151d903094" args="(Lattice *A, Lattice **U, Lattice **V, Lattice **Diag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AffineSmith </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> **&nbsp;</td>
          <td class="paramname"> <em>U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> **&nbsp;</td>
          <td class="paramname"> <em>V</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> **&nbsp;</td>
          <td class="paramname"> <em>Diag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00221">221</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="Lattice_8c_source.html#l00312">Homogenise()</a>, <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="matrix_8c_source.html#l00889">Matrix_Inverse()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="vector_8c_source.html#l00760">p</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="NormalForms_8c_source.html#l00627">Smith()</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00516">value_addmul</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00514">value_addto</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00462">value_clear</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00522">value_decrement</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00523">value_division</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00458">value_init</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00525">value_modulus</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00550">value_neg_p</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00464">value_print</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00460">value_set_si</a>.</p>

<p>Referenced by <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a2e1e0a75d5fb3ddf7cac35b0c6ffc75b"></a><!-- doxytag: member="Lattice.h::ChangeLatticeDimension" ref="a2e1e0a75d5fb3ddf7cac35b0c6ffc75b" args="(Lattice *A, int dimension)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatrix.html">Lattice</a>* ChangeLatticeDimension </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dimension</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00409">409</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00460">value_set_si</a>.</p>

<p>Referenced by <a class="el" href="Zpolyhedron_8c_source.html#l00761">CanonicalForm()</a>, <a class="el" href="Lattice_8c_source.html#l00990">FindHermiteBasisofDomain()</a>, and <a class="el" href="Lattice_8c_source.html#l00674">Lattice2LatticeUnion()</a>.</p>

</div>
</div>
<a class="anchor" id="aab7550d1f894cc88fe630ce56f502184"></a><!-- doxytag: member="Lattice.h::EmptyLattice" ref="aab7550d1f894cc88fe630ce56f502184" args="(int dimension)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatrix.html">Lattice</a>* EmptyLattice </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dimension</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00095">95</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00460">value_set_si</a>.</p>

<p>Referenced by <a class="el" href="Zpolyhedron_8c_source.html#l00264">EmptyZPolyhedron()</a>, <a class="el" href="Lattice_8c_source.html#l01126">LatticeImage()</a>, <a class="el" href="Lattice_8c_source.html#l00475">LatticeIntersection()</a>, <a class="el" href="Lattice_8c_source.html#l01165">LatticePreimage()</a>, and <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a009f469f3f4110d9035d36fa040dd176"></a><!-- doxytag: member="Lattice.h::ExtractLinearPart" ref="a009f469f3f4110d9035d36fa040dd176" args="(Lattice *A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatrix.html">Lattice</a>* ExtractLinearPart </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00439">439</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l00674">Lattice2LatticeUnion()</a>.</p>

</div>
</div>
<a class="anchor" id="aee5cf58a5c79a49ada7909b84440499a"></a><!-- doxytag: member="Lattice.h::FindHermiteBasisofDomain" ref="aee5cf58a5c79a49ada7909b84440499a" args="(Polyhedron *A, Matrix **B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int FindHermiteBasisofDomain </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpolyhedron.html">Polyhedron</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> **&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00990">990</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l00409">ChangeLatticeDimension()</a>, <a class="el" href="types_8h_source.html#l00111">polyhedron::Constraint</a>, <a class="el" href="types_8h_source.html#l00110">polyhedron::Dimension</a>, <a class="el" href="polyhedron_8c_source.html#l01616">Domain_Free()</a>, <a class="el" href="polyhedron_8c_source.html#l04187">DomainImage()</a>, <a class="el" href="types_8h_source.html#l00134">emptyQ</a>, <a class="el" href="Matop_8c_source.html#l00361">findHermiteBasis()</a>, <a class="el" href="Matop_8c_source.html#l00058">Identity()</a>, <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="matrix_8c_source.html#l00889">Matrix_Inverse()</a>, <a class="el" href="matrix_8c_source.html#l00845">Matrix_Product()</a>, <a class="el" href="types_8h_source.html#l00050">MAXNOOFRAYS</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00110">polyhedron::NbConstraints</a>, <a class="el" href="types_8h_source.html#l00110">polyhedron::NbRays</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="polyhedron_8h_source.html#l00030">POL_ENSURE_FACETS</a>, <a class="el" href="polyhedron_8h_source.html#l00034">POL_ENSURE_VERTICES</a>, <a class="el" href="types_8h_source.html#l00112">polyhedron::Ray</a>, <a class="el" href="Matop_8c_source.html#l00340">RemoveColumn()</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00462">value_clear</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00523">value_division</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00458">value_init</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00533">value_lcm</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00519">value_multiply</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00554">value_notzero_p</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00460">value_set_si</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00520">value_subtract</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00553">value_zero_p</a>.</p>

<p>Referenced by <a class="el" href="Zpolyhedron_8c_source.html#l00761">CanonicalForm()</a>.</p>

</div>
</div>
<a class="anchor" id="a00c3710631cd7f82d65329751095e78b"></a><!-- doxytag: member="Lattice.h::Homogenise" ref="a00c3710631cd7f82d65329751095e78b" args="(Lattice *A, Bool Forward)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatrix.html">Lattice</a>* Homogenise </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a>&nbsp;</td>
          <td class="paramname"> <em>Forward</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00312">312</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="Matop_8c_source.html#l00230">PutColumnFirst()</a>, <a class="el" href="Matop_8c_source.html#l00249">PutColumnLast()</a>, <a class="el" href="Matop_8c_source.html#l00210">PutRowFirst()</a>, <a class="el" href="Matop_8c_source.html#l00188">PutRowLast()</a>, and <a class="el" href="types_8h_source.html#l00234">True</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l00176">AffineHermite()</a>, <a class="el" href="Lattice_8c_source.html#l00221">AffineSmith()</a>, and <a class="el" href="Matop_8c_source.html#l00157">isinHnf()</a>.</p>

</div>
</div>
<a class="anchor" id="ab4a31767671350bb32e2ffb875348ac6"></a><!-- doxytag: member="Lattice.h::intcompare" ref="ab4a31767671350bb32e2ffb875348ac6" args="(const void *a, const void *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int intcompare </td>
          <td>(</td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l01663">1663</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l01677">allfactors()</a>.</p>

</div>
</div>
<a class="anchor" id="a7a9a551062ace0251e9bb0ea6b74c860"></a><!-- doxytag: member="Lattice.h::isEmptyLattice" ref="a7a9a551062ace0251e9bb0ea6b74c860" args="(Lattice *A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a> isEmptyLattice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00118">118</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00554">value_notzero_p</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00555">value_one_p</a>.</p>

<p>Referenced by <a class="el" href="Zpolyhedron_8c_source.html#l00854">IntegraliseLattice()</a>, <a class="el" href="Zpolyhedron_8c_source.html#l00040">isEmptyZPolyhedron()</a>, <a class="el" href="Lattice_8c_source.html#l00674">Lattice2LatticeUnion()</a>, <a class="el" href="Lattice_8c_source.html#l00814">LatticeDifference()</a>, <a class="el" href="Lattice_8c_source.html#l00475">LatticeIntersection()</a>, <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, <a class="el" href="Zpolyhedron_8c_source.html#l00971">SplitZpolyhedron()</a>, <a class="el" href="Zpolyhedron_8c_source.html#l00055">ZPolyhedron_Alloc()</a>, <a class="el" href="Zpolyhedron_8c_source.html#l00669">ZPolyhedronImage()</a>, <a class="el" href="Zpolyhedron_8c_source.html#l00547">ZPolyhedronIntersection()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00719">ZPolyhedronPreimage()</a>.</p>

</div>
</div>
<a class="anchor" id="aa55a58802da206d773cbaf5d6ffb90a5"></a><!-- doxytag: member="Lattice.h::isfulldim" ref="aa55a58802da206d773cbaf5d6ffb90a5" args="(Matrix *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a> isfulldim </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l01267">1267</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="NormalForms_8c_source.html#l00670">Hermite()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00553">value_zero_p</a>.</p>

<p>Referenced by <a class="el" href="Zpolyhedron_8c_source.html#l00055">ZPolyhedron_Alloc()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b6cf7c3438a407cd28d6ea0c9219d1b"></a><!-- doxytag: member="Lattice.h::IsLattice" ref="a2b6cf7c3438a407cd28d6ea0c9219d1b" args="(Matrix *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a> IsLattice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l01239">1239</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00556">value_notone_p</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00554">value_notzero_p</a>.</p>

<p>Referenced by <a class="el" href="Zpolyhedron_8c_source.html#l00055">ZPolyhedron_Alloc()</a>.</p>

</div>
</div>
<a class="anchor" id="a59f5ebfe98faf74f9b9628d0f484fece"></a><!-- doxytag: member="Lattice.h::isLinear" ref="a59f5ebfe98faf74f9b9628d0f484fece" args="(Lattice *A)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a> isLinear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00145">145</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00554">value_notzero_p</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l00176">AffineHermite()</a>.</p>

</div>
</div>
<a class="anchor" id="a020989e31cbf7e9cf32b85c4078fcb65"></a><!-- doxytag: member="Lattice.h::Lattice2LatticeUnion" ref="a020989e31cbf7e9cf32b85c4078fcb65" args="(Lattice *X, Lattice *Y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structLatticeUnion.html">LatticeUnion</a>* Lattice2LatticeUnion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>Y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00674">674</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l00409">ChangeLatticeDimension()</a>, <a class="el" href="Lattice_8c_source.html#l00439">ExtractLinearPart()</a>, <a class="el" href="Lattice_8c_source.html#l00118">isEmptyLattice()</a>, <a class="el" href="Lattice_8c_source.html#l00475">LatticeIntersection()</a>, <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="matrix_8c_source.html#l00889">Matrix_Inverse()</a>, <a class="el" href="matrix_8c_source.html#l00845">Matrix_Product()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="NormalForms_8c_source.html#l00627">Smith()</a>, <a class="el" href="Lattice_8c_source.html#l00901">SplitLattice()</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00462">value_clear</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00523">value_division</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00458">value_init</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l00814">LatticeDifference()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00971">SplitZpolyhedron()</a>.</p>

</div>
</div>
<a class="anchor" id="a31fa008ccc3304ba29e3167b17c61b70"></a><!-- doxytag: member="Lattice.h::LatticeDifference" ref="a31fa008ccc3304ba29e3167b17c61b70" args="(Lattice *A, Lattice *B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structLatticeUnion.html">LatticeUnion</a>* LatticeDifference </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Method :. </p>

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00814">814</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l00176">AffineHermite()</a>, <a class="el" href="Lattice_8c_source.html#l00118">isEmptyLattice()</a>, <a class="el" href="Matop_8c_source.html#l00157">isinHnf()</a>, <a class="el" href="Lattice_8c_source.html#l00674">Lattice2LatticeUnion()</a>, <a class="el" href="Lattice_8c_source.html#l01636">LatticeSimplify()</a>, <a class="el" href="types_8h_source.html#l00237">LatticeUnion::M</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00238">LatticeUnion::next</a>, and <a class="el" href="types_8h_source.html#l00234">True</a>.</p>

<p>Referenced by <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00592">ZPolyhedronDifference()</a>.</p>

</div>
</div>
<a class="anchor" id="ac67608cf4d08c51aa76da79051507fd4"></a><!-- doxytag: member="Lattice.h::LatticeImage" ref="ac67608cf4d08c51aa76da79051507fd4" args="(Lattice *A, Matrix *M)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatrix.html">Lattice</a>* LatticeImage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> *&nbsp;</td>
          <td class="paramname"> <em>M</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l01126">1126</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l00095">EmptyLattice()</a>, <a class="el" href="Lattice_8c_source.html#l01165">LatticePreimage()</a>, <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="matrix_8c_source.html#l00889">Matrix_Inverse()</a>, <a class="el" href="matrix_8c_source.html#l00845">Matrix_Product()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00555">value_one_p</a>.</p>

<p>Referenced by <a class="el" href="Zpolyhedron_8c_source.html#l00854">IntegraliseLattice()</a>, <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00669">ZPolyhedronImage()</a>.</p>

</div>
</div>
<a class="anchor" id="abe494c899b1c641aedcb95fec4719070"></a><!-- doxytag: member="Lattice.h::LatticeIncludes" ref="abe494c899b1c641aedcb95fec4719070" args="(Lattice *A, Lattice *B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a> LatticeIncludes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00340">340</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l00176">AffineHermite()</a>, <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="Lattice_8c_source.html#l00475">LatticeIntersection()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="Lattice_8c_source.html#l00371">sameLattice()</a>, and <a class="el" href="types_8h_source.html#l00234">True</a>.</p>

<p>Referenced by <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00306">ZPolyhedronIncludes()</a>.</p>

</div>
</div>
<a class="anchor" id="adb689baac30514102da4520b751c199d"></a><!-- doxytag: member="Lattice.h::LatticeIntersection" ref="adb689baac30514102da4520b751c199d" args="(Lattice *X, Lattice *Y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatrix.html">Lattice</a>* LatticeIntersection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>Y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00475">475</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l00176">AffineHermite()</a>, <a class="el" href="Lattice_8c_source.html#l00095">EmptyLattice()</a>, <a class="el" href="Lattice_8c_source.html#l00118">isEmptyLattice()</a>, <a class="el" href="Matop_8c_source.html#l00157">isinHnf()</a>, <a class="el" href="Lattice_8c_source.html#l00569">MakeDioEqforInter()</a>, <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="Matop_8c_source.html#l00118">Matrix_Copy()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00088">Vector::p</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="SolveDio_8c_source.html#l00081">SolveDiophantine()</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00460">value_set_si</a>, and <a class="el" href="vector_8c_source.html#l00179">Vector_Free()</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l00674">Lattice2LatticeUnion()</a>, <a class="el" href="Lattice_8c_source.html#l00340">LatticeIncludes()</a>, <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00547">ZPolyhedronIntersection()</a>.</p>

</div>
</div>
<a class="anchor" id="a0c4b5df1248325964344c44d1b3b93ed"></a><!-- doxytag: member="Lattice.h::LatticePreimage" ref="a0c4b5df1248325964344c44d1b3b93ed" args="(Lattice *L, Matrix *G)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmatrix.html">Lattice</a>* LatticePreimage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Matrix</a> *&nbsp;</td>
          <td class="paramname"> <em>G</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l01165">1165</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l00095">EmptyLattice()</a>, <a class="el" href="matrix_8c_source.html#l00045">Matrix_Alloc()</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00088">Vector::p</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="SolveDio_8c_source.html#l00081">SolveDiophantine()</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00459">value_assign</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00462">value_clear</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00458">value_init</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00519">value_multiply</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00528">value_oppose</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00460">value_set_si</a>, <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00520">value_subtract</a>, and <a class="el" href="vector_8c_source.html#l00179">Vector_Free()</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l01126">LatticeImage()</a>, <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00719">ZPolyhedronPreimage()</a>.</p>

</div>
</div>
<a class="anchor" id="abcae5a642b26c67f65db8de16cca6064"></a><!-- doxytag: member="Lattice.h::LatticeSimplify" ref="abcae5a642b26c67f65db8de16cca6064" args="(LatticeUnion *latlist)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structLatticeUnion.html">LatticeUnion</a>* LatticeSimplify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structLatticeUnion.html">LatticeUnion</a> *&nbsp;</td>
          <td class="paramname"> <em>latlist</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l01636">1636</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l01549">AffinePartSimplify()</a>, <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="Lattice_8c_source.html#l01452">LinearPartSort()</a>, <a class="el" href="types_8h_source.html#l00238">LatticeUnion::next</a>, <a class="el" href="Lattice_8c_source.html#l01620">SameLinearPart()</a>, and <a class="el" href="types_8h_source.html#l00234">True</a>.</p>

<p>Referenced by <a class="el" href="Lattice_8c_source.html#l00814">LatticeDifference()</a>, <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00887">ZDomainSimplify()</a>.</p>

</div>
</div>
<a class="anchor" id="a3ec0f98cd150dbf78ef0a604c0eb74ff"></a><!-- doxytag: member="Lattice.h::LatticeUnion_Alloc" ref="a3ec0f98cd150dbf78ef0a604c0eb74ff" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structLatticeUnion.html">LatticeUnion</a>* LatticeUnion_Alloc </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00060">60</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00237">LatticeUnion::M</a>, and <a class="el" href="types_8h_source.html#l00238">LatticeUnion::next</a>.</p>

<p>Referenced by <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>.</p>

</div>
</div>
<a class="anchor" id="ad405c032776bc0e029b1d431b3cab314"></a><!-- doxytag: member="Lattice.h::LatticeUnion_Free" ref="ad405c032776bc0e029b1d431b3cab314" args="(LatticeUnion *Head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LatticeUnion_Free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structLatticeUnion.html">LatticeUnion</a> *&nbsp;</td>
          <td class="paramname"> <em>Head</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00044">44</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00237">LatticeUnion::M</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, and <a class="el" href="types_8h_source.html#l00238">LatticeUnion::next</a>.</p>

<p>Referenced by <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>, and <a class="el" href="Zpolyhedron_8c_source.html#l00887">ZDomainSimplify()</a>.</p>

</div>
</div>
<a class="anchor" id="ae9589a3920f117a40663271977a9a84a"></a><!-- doxytag: member="Lattice.h::PrintLatticeUnion" ref="ae9589a3920f117a40663271977a9a84a" args="(FILE *fp, char *format, LatticeUnion *Head)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PrintLatticeUnion </td>
          <td>(</td>
          <td class="paramtype">FILE *&nbsp;</td>
          <td class="paramname"> <em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structLatticeUnion.html">LatticeUnion</a> *&nbsp;</td>
          <td class="paramname"> <em>Head</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00032">32</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00237">LatticeUnion::M</a>, <a class="el" href="matrix_8c_source.html#l00138">Matrix_Print()</a>, and <a class="el" href="types_8h_source.html#l00238">LatticeUnion::next</a>.</p>

<p>Referenced by <a class="el" href="Zpolytest_8c_source.html#l00029">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a6a82f4f5730f8c7b5b912e3a7b55dbb4"></a><!-- doxytag: member="Lattice.h::sameAffinepart" ref="a6a82f4f5730f8c7b5b912e3a7b55dbb4" args="(Lattice *A, Lattice *B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a> sameAffinepart </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00074">74</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00478">value_ne</a>.</p>

</div>
</div>
<a class="anchor" id="aec768b41c299f9545319f655a3d2fd1a"></a><!-- doxytag: member="Lattice.h::sameLattice" ref="aec768b41c299f9545319f655a3d2fd1a" args="(Lattice *A, Lattice *B)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a39db6982619d623273fad8a383489309">Bool</a> sameLattice </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmatrix.html">Lattice</a> *&nbsp;</td>
          <td class="paramname"> <em>B</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="Lattice_8c_source.html#l00371">371</a> of file <a class="el" href="Lattice_8c_source.html">Lattice.c</a>.</p>

<p>References <a class="el" href="Lattice_8c_source.html#l00176">AffineHermite()</a>, <a class="el" href="types_8h_source.html#l00234">False</a>, <a class="el" href="matrix_8c_source.html#l00092">Matrix_Free()</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbColumns</a>, <a class="el" href="types_8h_source.html#l00092">matrix::NbRows</a>, <a class="el" href="types_8h_source.html#l00093">matrix::p</a>, <a class="el" href="types_8h_source.html#l00234">True</a>, and <a class="el" href="source_2arith_2arithmetique_8h_source.html#l00478">value_ne</a>.</p>

<p>Referenced by <a class="el" href="Zpolyhedron_8c_source.html#l00170">AddZPolytoZDomain()</a>, and <a class="el" href="Lattice_8c_source.html#l00340">LatticeIncludes()</a>.</p>

</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 25 17:45:27 2009 for polylib by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>