- Bump for 4.20.

This commit is contained in:
Sylvain Pion 1999-07-08 18:03:27 +00:00
parent 6b070729c2
commit e980b889cf
4 changed files with 456 additions and 370 deletions

View File

@ -81,10 +81,7 @@ Concerning the doc:
expliquer comment utiliser les filtres. Peut-être une référence à ton
chapitre sur l'arithmétique d'intervalles..."
- add a pointer to my MISC'99 paper.
- Document "IA::number_of_failures", once overlap_action() is made
customisable.
- Documenter le mécanisme de cache.
- Documenter .exact(), .interval() et .value().
- document overlap_action(), when it is made customisable.
- Passer au nouveau format de doc.
Concerning the test-suite:

View File

@ -1,5 +1,13 @@
Changes done to the Interval Arithmetic package.
Version 4.20 on 8 July 1999
- Changed back __asm__ to asm.
- Removed tstlink in the test-suite (which was not submitted anyway).
- Test CGAL_USE_GMP before using Gmpz.h.
- Documented the caching feature Cache_t of Filtered_Exact<>.
- Documented Interval_nt_advanced::number_of_failures.
- Documented .exact(), .interval() and .value().
Version 4.19 on 6 July 1999
- The script now locally (in the produced file) defines
"CGAL_DONT_NEED_FILTER", so the user can conditionnaly exclude some code

View File

@ -7,7 +7,7 @@
%%EndComments
%DVIPSCommandLine: dvips -o Interval_arithmetic.ps wrapper.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 1999.06.30:1418
%DVIPSSource: TeX output 1999.07.08:2002
%%BeginProcSet: tex.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
@ -1930,169 +1930,212 @@ F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
C003F00003C003F00003C003F00007C003F0001F8007F800FF80FFFFFFFF80FFFFFFFF80
232B7CAA2B>108 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk ecti1200 12 18
/Fk 18 121 df<00F003FC07FC07FC0FFE0FFE0FFE0FFE07FC03CC000C001C0018001800
%DVIPSBitmapFont: Fk ecti1200 12 22
/Fk 22 121 df<00F003FC07FC07FC0FFE0FFE0FFE0FFE07FC03CC000C001C0018001800
3800300070006000E001C00180038007000E001C0038007000E000C0000F1D7A891E>44
D<000000000FF8000300000000FFFF000700000007FFFFC00F0000001FF803E01F000000
7FC000F81E000000FF00007C3E000003FC00003C7E00000FF000001EFE00001FE000000F
FC00003FC0000007FC00007F00000007FC0000FE00000003FC0001FC00000003F80003FC
00000003F80007F800000001F8000FF000000001F8001FE000000001F0003FC000000001
F0007FC000000001F0007F8000000001F000FF8000000001E001FF0000000001E001FF00
00000001E003FE0000000001E003FE0000000001C007FC0000000001C007FC0000000001
C00FF80000000001C00FF80000000000001FF80000000000001FF00000000000001FF000
00000000003FF00000000000003FE00000000000003FE00000000000003FE00000000000
007FE00000000000007FC00000000000007FC00000000000007FC00000000000007FC000
0000000000FF80000000000000FF80000000000000FF80000000000000FF800000000000
00FF80000000003800FF80000000003800FF80000000007800FF80000000007000FF8000
0000007000FF8000000000F0007F8000000000E0007F8000000001E0007F8000000001C0
007F8000000003C0003F800000000380003F800000000780003FC00000000F00001FC000
00000E00001FC00000001E00000FE00000003C00000FF000000078000007F0000000F000
0003F8000001E0000003FC000007C0000001FE00000F800000007F00003E000000003FC0
00FC000000001FF807F00000000007FFFFC00000000001FFFF0000000000001FF0000000
00404872C546>67 D<0000FFFFFFFFFFFFC00000FFFFFFFFFFFFC00000FFFFFFFFFFFFC0
000001FF000003FF80000000FE0000007F80000001FE0000003F80000001FE0000001F80
000001FC0000000F80000001FC0000000F80000001FC0000000F80000003FC0000000700
000003F80000000700000003F80000000700000003F80000000700000007F80000000700
000007F00000000F00000007F00000000E00000007F00000000E0000000FF00000000E00
00000FE00007000E0000000FE00007000E0000000FE0000F000E0000001FE0000E000000
00001FC0000E00000000001FC0000E00000000001FC0001E00000000003FC0001C000000
00003F80003C00000000003F80007C00000000003F8000FC00000000007F8003F8000000
00007FFFFFF800000000007FFFFFF800000000007FFFFFF80000000000FF0007F0000000
0000FE0001F00000000000FE0000F00000000000FE0000F00000000001FE0000E0000000
0001FC0000E00000000001FC0000E00000000001FC0001E00000000003FC0001C0007000
0003F80001C00070000003F80001C000F0000003F80001C000E0000007F800000000E000
0007F000000001E0000007F000000001C0000007F000000003C000000FF0000000038000
000FE0000000078000000FE0000000070000000FE00000000F0000001FE00000000F0000
001FC00000001E0000001FC00000003E0000001FC00000003C0000003FC00000007C0000
003F80000000FC0000003F80000001F80000007F80000003F80000007F8000000FF00000
007F0000003FF0000000FF000003FFE00000FFFFFFFFFFFFE00000FFFFFFFFFFFFE00000
FFFFFFFFFFFFC0000042447AC342>69 D<0000FFFFFFFFFFFF800000FFFFFFFFFFFF8000
00FFFFFFFFFFFF80000001FF000007FF00000000FE000000FF00000001FE0000007F0000
0001FE0000003F00000001FC0000001F00000001FC0000001F00000001FC0000001F0000
0003FC0000000E00000003F80000000E00000003F80000000E00000003F80000000E0000
0007F80000000E00000007F00000001E00000007F00000001C00000007F00000001C0000
000FF00000001C0000000FE00000001C0000000FE00007001C0000000FE0000F001C0000
001FE0000E00000000001FC0000E00000000001FC0000E00000000001FC0001E00000000
003FC0001C00000000003F80003C00000000003F80003C00000000003F80007C00000000
007F8000F800000000007F0003F800000000007FFFFFF800000000007FFFFFF800000000
00FFFFFFF00000000000FE0007F00000000000FE0001F00000000000FE0001F000000000
01FE0000E00000000001FC0000E00000000001FC0000E00000000001FC0001E000000000
03FC0001C00000000003F80001C00000000003F80001C00000000003F80003C000000000
07F80003800000000007F00000000000000007F00000000000000007F000000000000000
0FF0000000000000000FE0000000000000000FE0000000000000000FE000000000000000
1FE0000000000000001FC0000000000000001FC0000000000000001FC000000000000000
3FC0000000000000003F80000000000000003F80000000000000007F8000000000000000
7F80000000000000007F8000000000000000FF80000000000000FFFFFFC00000000000FF
FFFFC00000000000FFFFFFC0000000000041447AC340>I<00007FFFFFC00000FFFFFFC0
0000FFFFFFC0000000FFC0000000007F0000000000FF0000000000FF0000000000FE0000
000000FE0000000000FE0000000001FE0000000001FC0000000001FC0000000001FC0000
000003FC0000000003F80000000003F80000000003F80000000007F80000000007F00000
000007F00000000007F0000000000FF0000000000FE0000000000FE0000000000FE00000
00001FE0000000001FC0000000001FC0000000001FC0000000003FC0000000003F800000
00003F80000000003F80000000007F80000000007F00000000007F00000000007F000000
0000FF0000000000FE0000000000FE0000000000FE0000000001FE0000000001FC000000
0001FC0000000001FC0000000003FC0000000003F80000000003F80000000003F8000000
0007F80000000007F00000000007F00000000007F0000000000FF0000000000FE0000000
000FE0000000000FE0000000001FE0000000001FC0000000001FC0000000003FC0000000
003FC0000000003F8000000000FFC0000000FFFFFFC00000FFFFFFC00000FFFFFF800000
2A447AC326>73 D<01FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF803FF0003
FC001FF007F80003F80007F007E00007F80003F007C00007F80001F00F800007F00001F0
0F000007F00000F00F000007F00000F01E00000FF00000E01E00000FE00000E01C00000F
E00000E03C00000FE00000E03800001FE00000E03800001FC00001E07800001FC00001C0
7000001FC00001C0F000003FC00001C0E000003F800001C0E000003F800001C0E000003F
800001C00000007F800000000000007F000000000000007F000000000000007F00000000
000000FF00000000000000FE00000000000000FE00000000000000FE00000000000001FE
00000000000001FC00000000000001FC00000000000001FC00000000000003FC00000000
000003F800000000000003F800000000000003F800000000000007F800000000000007F0
00000000000007F000000000000007F00000000000000FF00000000000000FE000000000
00000FE00000000000000FE00000000000001FE00000000000001FC00000000000001FC0
0000000000001FC00000000000003FC00000000000003F800000000000003F8000000000
00003F800000000000007F800000000000007F000000000000007F000000000000007F00
000000000000FF00000000000000FE00000000000000FE00000000000001FE0000000000
0001FE00000000000003FE00000000000007FF00000000003FFFFFFFC00000003FFFFFFF
C00000003FFFFFFF800000003D446FC346>84 D<7FFFFFFFFFFFFEFFFFFFFFFFFFFEFFFF
FFFFFFFFFE7FFFFFFFFFFFFE37047C6E4B>95 D<00001F80000000007FE000000001F070
70000007C039F800000F801DF800001F001FF800003E000FF000007E000FF00000FC000F
F00001F80007F00001F80007E00003F00007E00007F00007E00007E0000FE0000FE0000F
C0000FE0000FC0001FC0000FC0001FC0001FC0003FC0001F80003F80001F80003F80001F
80003F80003F80007F80003F00007F00003F00007F00003F00007F00007F00007F00007E
0000FE00007E0000FE00007E0000FE0000FE0380FE0000FC0780FE0000FC0700FE0000FC
07007E0001FC07007E0001FC0F007E0003F80E007E0007F80E003E000FF81E003E000FF8
1C001F001CF81C001F0038F838000F80F078780007C3E07C700001FF801FE000007E0007
8000292D76AB32>97 D<00000FE00000007FF8000001F81E000007E00F00000F80078000
1F000380007E0003C000FC0007C001FC001FC001F8001FC003F0003F8007F0003F800FE0
003F800FE0000E001FC00000001FC00000003F800000003F800000007F800000007F0000
00007F000000007F00000000FF00000000FE00000000FE00000000FE00000000FE000000
00FC00000000FC00000000FC00000000FC00000000FC00000000FC00000180FC000003C0
FC00000780FC000007807C00000F007E00001E003E00007C003E0000F0001F0003E0000F
800F800007C07E000001FFF80000007FC00000222D75AB2D>99 D<0000000007F0000000
03FFF000000003FFF000000003FFF0000000000FE00000000007E0000000000FE0000000
000FE0000000000FC0000000000FC0000000001FC0000000001FC0000000001F80000000
001F80000000003F80000000003F80000000003F00000000003F00000000007F00000000
007F00000000007E00000000007E0000000000FE0000000000FE0000000000FC0000001F
80FC0000007FE1FC000001F071FC000007C039F800000F801DF800001F001FF800003E00
0FF800007E000FF00000FC000FF00001F80007F00001F80007F00003F00007E00007F000
07E00007E0000FE0000FE0000FE0000FE0000FC0001FC0000FC0001FC0001FC0003FC000
1FC0003F80001F80003F80001F80003F80003F80007F80003F80007F00003F00007F0000
3F00007F00007F00007F00007F0000FE00007E0000FE00007E0000FE0000FE0380FE0000
FE0780FE0000FC0700FE0000FC07007E0001FC07007E0001FC0F007E0003F80E007E0007
F80E003E000FF81E003E000FF81C001F001CF81C001F0038F838000F80F078780007C3E0
7C700001FF801FE000007E000780002C4676C432>I<00000FE00000007FF8000001F83E
000007C00F00001F800780003F000780007E0007C000FC0003C001F80003C003F00007C0
07F000078007E00007800FE0000F801FC0000F001FC0001F003F80003E003F8000FC003F
8007F0007F80FFC0007FFFFE00007FFFC000007F00000000FF00000000FE00000000FE00
D<03FFFFFFFFFFFFFE07FFFFFFFFFFFFFF00000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000FFFFFFFFFFFFFFE07FFFFFFFFFFFFFC0401675
A34B>61 D<000000000FF8000300000000FFFF000700000007FFFFC00F0000001FF803E0
1F0000007FC000F81E000000FF00007C3E000003FC00003C7E00000FF000001EFE00001F
E000000FFC00003FC0000007FC00007F00000007FC0000FE00000003FC0001FC00000003
F80003FC00000003F80007F800000001F8000FF000000001F8001FE000000001F0003FC0
00000001F0007FC000000001F0007F8000000001F000FF8000000001E001FF0000000001
E001FF0000000001E003FE0000000001E003FE0000000001C007FC0000000001C007FC00
00000001C00FF80000000001C00FF80000000000001FF80000000000001FF00000000000
001FF00000000000003FF00000000000003FE00000000000003FE00000000000003FE000
00000000007FE00000000000007FC00000000000007FC00000000000007FC00000000000
007FC0000000000000FF80000000000000FF80000000000000FF80000000000000FF8000
0000000000FF80000000003800FF80000000003800FF80000000007800FF800000000070
00FF80000000007000FF8000000000F0007F8000000000E0007F8000000001E0007F8000
000001C0007F8000000003C0003F800000000380003F800000000780003FC00000000F00
001FC00000000E00001FC00000001E00000FE00000003C00000FF000000078000007F000
0000F0000003F8000001E0000003FC000007C0000001FE00000F800000007F00003E0000
00003FC000FC000000001FF807F00000000007FFFFC00000000001FFFF0000000000001F
F000000000404872C546>67 D<0000FFFFFFFFFFFFC00000FFFFFFFFFFFFC00000FFFFFF
FFFFFFC0000001FF000003FF80000000FE0000007F80000001FE0000003F80000001FE00
00001F80000001FC0000000F80000001FC0000000F80000001FC0000000F80000003FC00
00000700000003F80000000700000003F80000000700000003F80000000700000007F800
00000700000007F00000000F00000007F00000000E00000007F00000000E0000000FF000
00000E0000000FE00007000E0000000FE00007000E0000000FE0000F000E0000001FE000
0E00000000001FC0000E00000000001FC0000E00000000001FC0001E00000000003FC000
1C00000000003F80003C00000000003F80007C00000000003F8000FC00000000007F8003
F800000000007FFFFFF800000000007FFFFFF800000000007FFFFFF80000000000FF0007
F00000000000FE0001F00000000000FE0000F00000000000FE0000F00000000001FE0000
E00000000001FC0000E00000000001FC0000E00000000001FC0001E00000000003FC0001
C00070000003F80001C00070000003F80001C000F0000003F80001C000E0000007F80000
0000E0000007F000000001E0000007F000000001C0000007F000000003C000000FF00000
00038000000FE0000000078000000FE0000000070000000FE00000000F0000001FE00000
000F0000001FC00000001E0000001FC00000003E0000001FC00000003C0000003FC00000
007C0000003F80000000FC0000003F80000001F80000007F80000003F80000007F800000
0FF00000007F0000003FF0000000FF000003FFE00000FFFFFFFFFFFFE00000FFFFFFFFFF
FFE00000FFFFFFFFFFFFC0000042447AC342>69 D<0000FFFFFFFFFFFF800000FFFFFFFF
FFFF800000FFFFFFFFFFFF80000001FF000007FF00000000FE000000FF00000001FE0000
007F00000001FE0000003F00000001FC0000001F00000001FC0000001F00000001FC0000
001F00000003FC0000000E00000003F80000000E00000003F80000000E00000003F80000
000E00000007F80000000E00000007F00000001E00000007F00000001C00000007F00000
001C0000000FF00000001C0000000FE00000001C0000000FE00007001C0000000FE0000F
001C0000001FE0000E00000000001FC0000E00000000001FC0000E00000000001FC0001E
00000000003FC0001C00000000003F80003C00000000003F80003C00000000003F80007C
00000000007F8000F800000000007F0003F800000000007FFFFFF800000000007FFFFFF8
0000000000FFFFFFF00000000000FE0007F00000000000FE0001F00000000000FE0001F0
0000000001FE0000E00000000001FC0000E00000000001FC0000E00000000001FC0001E0
0000000003FC0001C00000000003F80001C00000000003F80001C00000000003F80003C0
0000000007F80003800000000007F00000000000000007F00000000000000007F0000000
000000000FF0000000000000000FE0000000000000000FE0000000000000000FE0000000
000000001FE0000000000000001FC0000000000000001FC0000000000000001FC0000000
000000003FC0000000000000003F80000000000000003F80000000000000007F80000000
000000007F80000000000000007F8000000000000000FF80000000000000FFFFFFC00000
000000FFFFFFC00000000000FFFFFFC0000000000041447AC340>I<00007FFFFFC00000
FFFFFFC00000FFFFFFC0000000FFC0000000007F0000000000FF0000000000FF00000000
00FE0000000000FE0000000000FE0000000001FE0000000001FC0000000001FC00000000
01FC0000000003FC0000000003F80000000003F80000000003F80000000007F800000000
07F00000000007F00000000007F0000000000FF0000000000FE0000000000FE000000000
0FE0000000001FE0000000001FC0000000001FC0000000001FC0000000003FC000000000
3F80000000003F80000000003F80000000007F80000000007F00000000007F0000000000
7F0000000000FF0000000000FE0000000000FE0000000000FE0000000001FE0000000001
FC0000000001FC0000000001FC0000000003FC0000000003F80000000003F80000000003
F80000000007F80000000007F00000000007F00000000007F0000000000FF0000000000F
E0000000000FE0000000000FE0000000001FE0000000001FC0000000001FC0000000003F
C0000000003FC0000000003F8000000000FFC0000000FFFFFFC00000FFFFFFC00000FFFF
FF8000002A447AC326>73 D<0000FFFF000001FFFFE00000FFFF000001FFFFE00000FFFF
000001FFFFE0000000FF8000000FFC00000000FF80000007F000000000FF80000003E000
000001FFC0000003C000000001DFC0000003C000000001DFC00000038000000001DFE000
00078000000003CFE000000780000000038FF000000700000000038FF000000700000000
0387F000000F000000000787F800000F000000000703F800000E000000000703F800000E
000000000703FC00001E000000000F01FC00001E000000000E01FC00001C000000000E01
FE00001C000000000E00FE00003C000000001E00FE00003C000000001C00FF0000380000
00001C007F000038000000001C007F000078000000003C007F8000780000000038003F80
00700000000038003F8000700000000038003FC000F00000000078001FC000F000000000
70001FC000E00000000070001FE000E00000000070000FE001E000000000F0000FE001E0
00000000E0000FF001C000000000E00007F001C000000000E00007F003C000000001E000
07F803C000000001C00003F8038000000001C00003F8038000000001C00003FC07800000
0003C00001FC078000000003800001FC070000000003800001FE070000000003800000FE
0F0000000007800000FE0F0000000007000000FF0E00000000070000007F0E0000000007
0000007F1E000000000F0000007F9E000000000E0000003F9C000000000E0000003F9C00
0000000E0000003FFC000000001E0000001FFC000000001C0000001FF8000000001C0000
001FF8000000001C0000000FF8000000003C0000000FF8000000003800000007F0000000
007800000007F0000000007800000007F000000000F800000003F000000001FC00000003
E000000007FE00000003E0000000FFFFF0000001E0000000FFFFF0000001E0000000FFFF
F0000001C00000004B447AC348>78 D<01FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFF
FFFFFFF803FF0003FC001FF007F80003F80007F007E00007F80003F007C00007F80001F0
0F800007F00001F00F000007F00000F00F000007F00000F01E00000FF00000E01E00000F
E00000E01C00000FE00000E03C00000FE00000E03800001FE00000E03800001FC00001E0
7800001FC00001C07000001FC00001C0F000003FC00001C0E000003F800001C0E000003F
800001C0E000003F800001C00000007F800000000000007F000000000000007F00000000
0000007F00000000000000FF00000000000000FE00000000000000FE00000000000000FE
00000000000001FE00000000000001FC00000000000001FC00000000000001FC00000000
000003FC00000000000003F800000000000003F800000000000003F800000000000007F8
00000000000007F000000000000007F000000000000007F00000000000000FF000000000
00000FE00000000000000FE00000000000000FE00000000000001FE00000000000001FC0
0000000000001FC00000000000001FC00000000000003FC00000000000003F8000000000
00003F800000000000003F800000000000007F800000000000007F000000000000007F00
0000000000007F00000000000000FF00000000000000FE00000000000000FE0000000000
0001FE00000000000001FE00000000000003FE00000000000007FF00000000003FFFFFFF
C00000003FFFFFFFC00000003FFFFFFF800000003D446FC346>84
D<7FFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFE7FFFFFFFFFFFFE37047C6E4B>95
D<00001F80000000007FE000000001F07070000007C039F800000F801DF800001F001FF8
00003E000FF000007E000FF00000FC000FF00001F80007F00001F80007E00003F00007E0
0007F00007E00007E0000FE0000FE0000FC0000FE0000FC0001FC0000FC0001FC0001FC0
003FC0001F80003F80001F80003F80001F80003F80003F80007F80003F00007F00003F00
007F00003F00007F00007F00007F00007E0000FE00007E0000FE00007E0000FE0000FE03
80FE0000FC0780FE0000FC0700FE0000FC07007E0001FC07007E0001FC0F007E0003F80E
007E0007F80E003E000FF81E003E000FF81C001F001CF81C001F0038F838000F80F07878
0007C3E07C700001FF801FE000007E00078000292D76AB32>97 D<00000FE00000007FF8
000001F81E000007E00F00000F800780001F000380007E0003C000FC0007C001FC001FC0
01F8001FC003F0003F8007F0003F800FE0003F800FE0000E001FC00000001FC00000003F
800000003F800000007F800000007F000000007F000000007F00000000FF00000000FE00
000000FE00000000FE00000000FE00000000FC00000000FC00000000FC00000000FC0000
0000FC00000180FC000003C07C000007807C000007807E00000F003E00001E003E00007C
001F0000F0000F0003E00007800F800003C07E000001FFF80000003FC00000222D75AB2D
>I<00003C00007E0000FE0000FE0000FE0000FC00007000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000007C0001
FF0003C7800703C00F03E00E03E01C03E01C07E03807E03807E07807E0700FE0700FC070
1FC0F01F80E01F80003F80003F00003F00007F00007E00007E0000FE0000FC0001FC0001
F80001F80003F80003F00003F01E07F01C07E01C07E01C0FE03C0FC0380FC0380FC0780F
80700F80F00F80E00F81C00783C007C78003FE0000F800174378C11E>105
D<0003F801FFF801FFF801FFF80007F00003F00007F00007F00007E00007E0000FE0000F
E0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F
00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F8
0003F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0
001F80001F80003F80003F80003F00003F00007F01C07F03C07E03807E03807E0780FE07
00FC0700FC0700FC0F00FC0E007C1E007C1C003C3C003E78001FF00007C000154678C419
>108 D<01F0000FE00003FC007FF800071E01F03E000E0F03C01F001E0F87001F801C0F
8E000F803C0F9C000F80380FB8000FC0380FF8000FC0781FF0000FC0701FE0000FC0701F
E0000FC0701FC0000FC0F01F80001FC0E03F80001F80E03F00001F80003F00001F80003F
00003F80007F00003F00007E00003F00007E00003F00007E00007F0000FE00007E0000FC
00007E0000FC0000FE0000FC0000FC0001FC0000FC0001F80001FC0001F80001F80001F8
0001F80F03F80003F80E03F00003F00E03F00003F00E03F00007F01E07F00007E01C07E0
0007E01C07E00007E03C07E00007C0380FE00007C0780FC00007C0700FC00007C0E00FC0
0003C1E01FC00003E3C01F800001FF00070000007C00302D78AB37>110
D<01F0003F8003FC01FFF0071E03C0780E0F0F003C1E0F9E00FC1C0F9C00FE1C0FB801FC
380FF001FC380FF001FC381FE00070781FE00000701FC00000701FC00000F01F800000E0
3F800000E03F000000003F000000003F000000007F000000007E000000007E000000007E
00000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F800
000001F800000003F800000003F000000003F000000003F000000007F000000007E00000
0007E000000007E00000000FE00000000FC00000000FC00000000FC00000001FC0000000
1F800000000700000000272D78AB29>114 D<000070000001F8000001F8000001F80000
03F8000003F0000003F0000003F0000007F0000007E0000007E0000007E000000FE00000
0FC000000FC000000FC000001FC000001F8000001F80007FFFFFE0FFFFFFE0FFFFFFC000
3F0000003F0000007F0000007E0000007E0000007E000000FE000000FC000000FC000000
FC000001FC000001F8000001F8000001F8000003F8000003F0000003F0000003F0000007
F0000007E0000007E0000007E000000FE000000FC000000FC000000FC007801FC007001F
8007001F800F001F800E003F801E003F001C003F003C003F0038003F0070001F00F0001F
01E0000F03C0000F87800007FE000001F800001B3F78BD20>116
D<007C00003801FF0000FC03C78001FE0703C001FE0F03E001FE0E03E001FE1C03E000FE
1C07E0007E3807E0007E3807E0003E7807E0003E700FE0001E700FC0001E701FC0001EF0
1F80001CE01F80001C003F80001C003F00003C003F000038007F000038007E000038007E
00007800FE00007000FC00007000FC00007000FC0000F001FC0000E001F80000E001F800
01E001F80001C001F80001C003F000038003F000038003F000070003F000070003F0000E
0001F0000E0001F0001C0001F800380000F800780000FC00F000007C01E000003F078000
000FFF00000003F80000272D78AB2D>118 D<0000F8003F800007FE00FFE0000F0F83C0
F0001C07C78078003803CF01F8007003EE01FC00E003FC03F801E003FC03F801C003F803
F803C003F800E0038003F80000078003F00000070003F00000070007F000000F0007E000
000E0007E00000000007E0000000000FE0000000000FC0000000000FC0000000000FC000
0000001FC0000000001F80000000001F80000000001F80000000003F80000000003F0000
0000003F00000000003F00000000007F0003C000007F00038000007E00038000007E0003
800000FE0007000000FE0007001C00FE000F007E01FC000E007E01FE001C00FE03FE003C
00FE03BE007800FE079E00F000780F1F01E0007C1E0F83C0001FF803FF000007E000FC00
002E2D7CAB2D>120 D E
0000FC00000000FC00000180FC000003C0FC00000780FC000007807C00000F007E00001E
003E00007C003E0000F0001F0003E0000F800F800007C07E000001FFF80000007FC00000
222D75AB2D>99 D<0000000007F000000003FFF000000003FFF000000003FFF000000000
0FE00000000007E0000000000FE0000000000FE0000000000FC0000000000FC000000000
1FC0000000001FC0000000001F80000000001F80000000003F80000000003F8000000000
3F00000000003F00000000007F00000000007F00000000007E00000000007E0000000000
FE0000000000FE0000000000FC0000001F80FC0000007FE1FC000001F071FC000007C039
F800000F801DF800001F001FF800003E000FF800007E000FF00000FC000FF00001F80007
F00001F80007F00003F00007E00007F00007E00007E0000FE0000FE0000FE0000FE0000F
C0001FC0000FC0001FC0001FC0003FC0001FC0003F80001F80003F80001F80003F80003F
80007F80003F80007F00003F00007F00003F00007F00007F00007F00007F0000FE00007E
0000FE00007E0000FE0000FE0380FE0000FE0780FE0000FC0700FE0000FC07007E0001FC
07007E0001FC0F007E0003F80E007E0007F80E003E000FF81E003E000FF81C001F001CF8
1C001F0038F838000F80F078780007C3E07C700001FF801FE000007E000780002C4676C4
32>I<00000FE00000007FF8000001F83E000007C00F00001F800780003F000780007E00
07C000FC0003C001F80003C003F00007C007F000078007E00007800FE0000F801FC0000F
001FC0001F003F80003E003F8000FC003F8007F0007F80FFC0007FFFFE00007FFFC00000
7F00000000FF00000000FE00000000FE00000000FE00000000FE00000000FE00000000FC
00000000FC00000000FC00000000FC00000000FC00000180FC000003C07C000007807C00
0007807E00000F003E00001E003E00007C001F0000F0000F0003E00007800F800003C07E
000001FFF80000003FC00000222D75AB2D>I<0000FE000000007FFE000000007FFE0000
00007FFE0000000001FC0000000000FC0000000001FC0000000001FC0000000001F80000
000001F80000000003F80000000003F80000000003F00000000003F00000000007F00000
000007F00000000007E00000000007E0000000000FE0000000000FE0000000000FC00000
00000FC0000000001FC0000000001FC0000000001F80000000001F807F0000003F83FFC0
00003F8F81F000003F1E00F800003F3800FC00007F70007C00007FE0007C00007FC0007E
00007FC0007E0000FF80007E0000FF00007E0000FF00007E0000FE00007E0001FC0000FE
0001FC0000FC0001F80000FC0001F80000FC0003F80001FC0003F80001F80003F00001F8
0003F00001F80007F00003F80007F00003F00007E00003F00007E00007F0000FE00007E0
000FE00007E0000FC0000FE0000FC0000FC0001FC0000FC0781FC0001FC0701F80001F80
701F80001F80703F80003F80F03F80003F00E03F00003F00E03F00003F01E07F00003E01
C07F00003E03C07E00003E03807E00003E0700FE00001E0F00FE00001F1E00FC00000FF8
0038000003E0002D467AC432>104 D<00003C00007E0000FE0000FE0000FE0000FC0000
700000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000007C0001FF0003C7800703C00F03E00E03E01C03E01C07E03807
E03807E07807E0700FE0700FC0701FC0F01F80E01F80003F80003F00003F00007F00007E
00007E0000FE0000FC0001FC0001F80001F80003F80003F00003F01E07F01C07E01C07E0
1C0FE03C0FC0380FC0380FC0780F80700F80F00F80E00F81C00783C007C78003FE0000F8
00174378C11E>I<0003F801FFF801FFF801FFF80007F00003F00007F00007F00007E000
07E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F0000
3F00007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001
F80003F80003F80003F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000F
C0001FC0001FC0001F80001F80003F80003F80003F00003F00007F01C07F03C07E03807E
03807E0780FE0700FC0700FC0700FC0F00FC0E007C1E007C1C003C3C003E78001FF00007
C000154678C419>108 D<01F0000FE00003FC007FF800071E01F03E000E0F03C01F001E
0F87001F801C0F8E000F803C0F9C000F80380FB8000FC0380FF8000FC0781FF0000FC070
1FE0000FC0701FE0000FC0701FC0000FC0F01F80001FC0E03F80001F80E03F00001F8000
3F00001F80003F00003F80007F00003F00007E00003F00007E00003F00007E00007F0000
FE00007E0000FC00007E0000FC0000FE0000FC0000FC0001FC0000FC0001F80001FC0001
F80001F80001F80001F80F03F80003F80E03F00003F00E03F00003F00E03F00007F01E07
F00007E01C07E00007E01C07E00007E03C07E00007C0380FE00007C0780FC00007C0700F
C00007C0E00FC00003C1E01FC00003E3C01F800001FF00070000007C00302D78AB37>
110 D<00000FE00000007FFC000001F83E000007E00F80000F8007C0001F0007C0007E00
03E000FC0003F000FC0003F001F80001F003F00001F807F00001F80FE00001F80FE00001
F81FC00001F81FC00001F83F800001F83F800003F87F800003F87F000003F87F000003F8
7F000007F8FF000007F0FE000007F0FE000007F0FE00000FF0FE00000FE0FC00000FE0FC
00001FC0FC00001FC0FC00001F80FC00003F80FC00003F00FC00007F00FC00007E00FC00
00FC007C0001F8007E0003F0003E0003E0003E0007C0001F001F80000F803E000007C0FC
000001FFF00000003F800000252D75AB32>I<01F0003F8003FC01FFF0071E03C0780E0F
0F003C1E0F9E00FC1C0F9C00FE1C0FB801FC380FF001FC380FF001FC381FE00070781FE0
0000701FC00000701FC00000F01F800000E03F800000E03F000000003F000000003F0000
00007F000000007E000000007E000000007E00000000FE00000000FC00000000FC000000
00FC00000001FC00000001F800000001F800000001F800000003F800000003F000000003
F000000003F000000007F000000007E000000007E000000007E00000000FE00000000FC0
0000000FC00000000FC00000001FC00000001F800000000700000000272D78AB29>114
D<000070000001F8000001F8000001F8000003F8000003F0000003F0000003F0000007F0
000007E0000007E0000007E000000FE000000FC000000FC000000FC000001FC000001F80
00001F80007FFFFFE0FFFFFFE0FFFFFFC0003F0000003F0000007F0000007E0000007E00
00007E000000FE000000FC000000FC000000FC000001FC000001F8000001F8000001F800
0003F8000003F0000003F0000003F0000007F0000007E0000007E0000007E000000FE000
000FC000000FC000000FC007801FC007001F8007001F800F001F800E003F801E003F001C
003F003C003F0038003F0070001F00F0001F01E0000F03C0000F87800007FE000001F800
001B3F78BD20>116 D<007C00003801FF0000FC03C78001FE0703C001FE0F03E001FE0E
03E001FE1C03E000FE1C07E0007E3807E0007E3807E0003E7807E0003E700FE0001E700F
C0001E701FC0001EF01F80001CE01F80001C003F80001C003F00003C003F000038007F00
0038007E000038007E00007800FE00007000FC00007000FC00007000FC0000F001FC0000
E001F80000E001F80001E001F80001C001F80001C003F000038003F000038003F0000700
03F000070003F0000E0001F0000E0001F0001C0001F800380000F800780000FC00F00000
7C01E000003F078000000FFF00000003F80000272D78AB2D>118
D<0000F8003F800007FE00FFE0000F0F83C0F0001C07C78078003803CF01F8007003EE01
FC00E003FC03F801E003FC03F801C003F803F803C003F800E0038003F80000078003F000
00070003F00000070007F000000F0007E000000E0007E00000000007E0000000000FE000
0000000FC0000000000FC0000000000FC0000000001FC0000000001F80000000001F8000
0000001F80000000003F80000000003F00000000003F00000000003F00000000007F0003
C000007F00038000007E00038000007E0003800000FE0007000000FE0007001C00FE000F
007E01FC000E007E01FE001C00FE03FE003C00FE03BE007800FE079E00F000780F1F01E0
007C1E0F83C0001FF803FF000007E000FC00002E2D7CAB2D>120
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl ecbx1200 12 28
/Fl 28 119 df<0000001FFE0000000003FFFFC00000001FFFFFF00000007FF803F80000
@ -3103,267 +3146,305 @@ b(y)n(ou)e(compile)g(with)i(the)f(\035ag)f Fh(-DCGAL)1613
2 y(EXCEPTION)14 b Fm(,)23 b(the)g(exception)g(is)f(not)h(thro)n(wn,)g
(but)278 102 y(y)n(ou)k(get)g(a)h(w)n(arning)e(instead.)36
b(The)28 b(return)f(v)-5 b(alue)28 b(is)f(unsp)r(eci\034ed.)195
327 y Fg(\017)41 b Fm(Moreo)n(v)n(er,)32 b(y)n(ou)h(can)g(also)f(get)h
300 y Fg(\017)41 b Fm(Moreo)n(v)n(er,)32 b(y)n(ou)h(can)g(also)f(get)h
(rid)g(of)g(the)h(w)n(arning)e(b)n(y)h(adding)g Fh(-DCGAL)2745
329 y(_)2812 327 y(IA)2906 329 y(_)2974 327 y(NO)3100
329 y(_)3167 327 y(WARNINGS)42 b Fm(or)278 427 y Fh(-DCGAL)608
429 y(_)676 427 y(NO)802 429 y(_)869 427 y(WARNINGS)10
302 y(_)2812 300 y(IA)2906 302 y(_)2974 300 y(NO)3100
302 y(_)3167 300 y(WARNINGS)42 b Fm(or)278 400 y Fh(-DCGAL)608
402 y(_)676 400 y(NO)802 402 y(_)869 400 y(WARNINGS)10
b Fm(.)26 b(The)i(return)f(v)-5 b(alue)27 b(is)h(unsp)r(eci\034ed)g(to)
r(o.)71 888 y Fi(Implemen)m(tation)71 1094 y Fh(Interval)352
1096 y(_)420 1094 y(nt)63 b Fm(deriv)n(es)54 b(from)h
Fh(Interval)1368 1096 y(_)1436 1094 y(nt)1511 1096 y(_)1578
1094 y(advanced)9 b Fm(,)64 b(see)55 b(Section)h(0.0.2.)119
b(Nearly)54 b(all)h(op)r(erations)f(on)71 1193 y Fh(Interval)352
1195 y(_)420 1193 y(nt)36 b Fm(need)29 b(the)h(rounding)e(mo)r(de)h(to)
g(b)r(e)h(set)f(to)g('round)f(to)h(nearest')g(\(whic)n(h)g(is)g(the)g
(default\),)h(and)f(lea)n(v)n(e)71 1293 y(it)f(in)g(this)g(state)f(if)h
(they)g(ha)n(v)n(e)e(to)i(mo)r(dify)g(it)g(in)n(ternally)-7
b(.)p -213 1617 8 119 v -206 1499 1182 5 v 71 1880 a
Fl(0.0.2)112 b(A)m(dv)-6 b(anced)38 b(In)m(terv)-6 b(al)36
b(Arithmetic)e(\()p Fk(Interval)2293 1882 y(_)2371 1880
y(nt)2458 1882 y(_)2538 1880 y(advanced)10 b Fl(\))71
2153 y Fh(Interval)352 2155 y(_)420 2153 y(nt)35 b Fm(deriv)n(es)27
b(from)h Fh(Interval)1286 2155 y(_)1354 2153 y(nt)1429
2155 y(_)1496 2153 y(advanced)9 b Fm(.)41 b(The)28 b(adv)-5
b(anced)27 b(class)h(allo)n(ws)e(y)n(ou)i(to)g(mak)n(e)f(faster)h(com-)
71 2252 y(putations,)36 b(but)f(y)n(ou)f(need)h(to)f(set)h(the)g
(rounding)e(mo)r(de)i(of)f(the)h(FPU)h(to)e('round)h(to)f(in\034nit)n
(y')h(\(see)f(b)r(elo)n(w)h(for)71 2352 y(ho)n(w)28 b(to)h(do)g(that\))
h(b)r(efore)f(doing)g(an)n(y)f(computation)h(with)h(this)f(n)n(um)n(b)r
(er)g(t)n(yp)r(e,)h(and)f(eac)n(h)f(function)i(\(arithmetic)71
2451 y(op)r(erators)j(and)i(con)n(v)n(ersion)e(functions\))j(lea)n(v)n
r(o.)71 681 y(In)19 b(all)g(cases,)h(y)n(ou)f(ha)n(v)n(e)f(access)g(to)
h(a)g(global)f(coun)n(ter)g(of)h(failures)g Fh(Interval)2394
683 y(_)2462 681 y(nt)2537 683 y(_)2604 681 y(advanced::number)3254
683 y(_)3324 681 y(of)3391 683 y(_)3460 681 y(failures)7
b Fm(,)71 781 y(whic)n(h)27 b(is)h(incremen)n(ted)f(for)g(eac)n(h)g
(unsafe)g(comparison.)71 1112 y Fi(Implemen)m(tation)71
1311 y Fh(Interval)352 1313 y(_)420 1311 y(nt)63 b Fm(deriv)n(es)54
b(from)h Fh(Interval)1368 1313 y(_)1436 1311 y(nt)1511
1313 y(_)1578 1311 y(advanced)9 b Fm(,)64 b(see)55 b(Section)h(0.0.2.)
119 b(Nearly)54 b(all)h(op)r(erations)f(on)71 1411 y
Fh(Interval)352 1413 y(_)420 1411 y(nt)36 b Fm(need)29
b(the)h(rounding)e(mo)r(de)h(to)g(b)r(e)h(set)f(to)g('round)f(to)h
(nearest')g(\(whic)n(h)g(is)g(the)g(default\),)h(and)f(lea)n(v)n(e)71
1511 y(it)f(in)g(this)g(state)f(if)h(they)g(ha)n(v)n(e)e(to)i(mo)r
(dify)g(it)g(in)n(ternally)-7 b(.)p -213 1828 8 119 v
-206 1710 1182 5 v 71 2062 a Fl(0.0.2)112 b(A)m(dv)-6
b(anced)38 b(In)m(terv)-6 b(al)36 b(Arithmetic)e(\()p
Fk(Interval)2293 2064 y(_)2371 2062 y(nt)2458 2064 y(_)2538
2062 y(advanced)10 b Fl(\))71 2322 y Fh(Interval)352
2324 y(_)420 2322 y(nt)35 b Fm(deriv)n(es)27 b(from)h
Fh(Interval)1286 2324 y(_)1354 2322 y(nt)1429 2324 y(_)1496
2322 y(advanced)9 b Fm(.)41 b(The)28 b(adv)-5 b(anced)27
b(class)h(allo)n(ws)e(y)n(ou)i(to)g(mak)n(e)f(faster)h(com-)71
2421 y(putations,)36 b(but)f(y)n(ou)f(need)h(to)f(set)h(the)g(rounding)
e(mo)r(de)i(of)f(the)h(FPU)h(to)e('round)h(to)f(in\034nit)n(y')h(\(see)
f(b)r(elo)n(w)h(for)71 2521 y(ho)n(w)28 b(to)h(do)g(that\))h(b)r(efore)
f(doing)g(an)n(y)f(computation)h(with)h(this)f(n)n(um)n(b)r(er)g(t)n
(yp)r(e,)h(and)f(eac)n(h)f(function)i(\(arithmetic)71
2621 y(op)r(erators)j(and)i(con)n(v)n(ersion)e(functions\))j(lea)n(v)n
(es)e(the)h(rounding)g(mo)r(de)g(in)g(this)h(state)f(if)h(it)g(needs)f
(to)g(mo)r(dify)h(it)71 2551 y(in)n(ternally)-7 b(.)36
b(See)28 b(b)r(elo)n(w)f(for)g(details.)71 2757 y(The)198
b(function)h Fh(convert)1174 2759 y(_)1242 2757 y(to)5
b Fd(<)p Fh(Interval)1642 2759 y(_)1710 2757 y(nt)j Fd(>)p
(to)g(mo)r(dify)h(it)71 2720 y(in)n(ternally)-7 b(.)36
b(See)28 b(b)r(elo)n(w)f(for)g(details.)71 2919 y(The)198
b(function)h Fh(convert)1174 2921 y(_)1242 2919 y(to)5
b Fd(<)p Fh(Interval)1642 2921 y(_)1710 2919 y(nt)j Fd(>)p
Fh(\(\))201 b Fm(is)d(replaced)f(b)n(y)i(the)f(function)71
2857 y Fh(convert)337 2859 y(_)405 2857 y(to)5 b Fd(<)p
Fh(Interval)805 2859 y(_)873 2857 y(nt)948 2859 y(_)1015
2857 y(advanced)k Fd(>)p Fh(\(\))60 b Fm(and)55 b(has)g(the)h(same)f
(requiremen)n(ts)f(concerning)g(the)i(rounding)71 2956
y(mo)r(de)28 b(as)e(other)h(functions.)71 3162 y(#)p
Fh(include)j Fd(<)p Fh(CGAL/Interval)1030 3164 y(_)1099
3162 y(arithmetic.h)6 b Fd(>)71 3368 y Fm(W)-7 b(e)28
3019 y Fh(convert)337 3021 y(_)405 3019 y(to)5 b Fd(<)p
Fh(Interval)805 3021 y(_)873 3019 y(nt)948 3021 y(_)1015
3019 y(advanced)k Fd(>)p Fh(\(\))60 b Fm(and)55 b(has)g(the)h(same)f
(requiremen)n(ts)f(concerning)g(the)i(rounding)71 3118
y(mo)r(de)28 b(as)e(other)h(functions.)71 3318 y(#)p
Fh(include)j Fd(<)p Fh(CGAL/Interval)1030 3320 y(_)1099
3318 y(arithmetic.h)6 b Fd(>)71 3517 y Fm(W)-7 b(e)28
b(pro)n(vide)e(the)i(follo)n(wing)f(functions)g(to)h(c)n(hange)e(the)i
(rounding)f(mo)r(de:)71 3613 y Fh(enum)i(FPU)470 3615
y(_)538 3613 y(CW)680 3615 y(_)748 3613 y(t)g({)h(FPU)1049
3615 y(_)1118 3613 y(cw)1211 3615 y(_)1279 3613 y(near,)g(FPU)1668
3615 y(_)1736 3613 y(cw)1829 3615 y(_)1897 3613 y(zero,)h(FPU)2274
3615 y(_)2342 3613 y(cw)2435 3615 y(_)2503 3613 y(up,)f(FPU)2817
3615 y(_)2886 3613 y(cw)2979 3615 y(_)3047 3613 y(down)6
b(};)1394 3819 y Fm(The)26 b(di\033eren)n(t)g(selectors)e(for)h(the)i
(rounding)f(mo)r(de:)71 3749 y Fh(enum)i(FPU)470 3751
y(_)538 3749 y(CW)680 3751 y(_)748 3749 y(t)g({)h(FPU)1049
3751 y(_)1118 3749 y(cw)1211 3751 y(_)1279 3749 y(near,)g(FPU)1668
3751 y(_)1736 3749 y(cw)1829 3751 y(_)1897 3749 y(zero,)h(FPU)2274
3751 y(_)2342 3749 y(cw)2435 3751 y(_)2503 3749 y(up,)f(FPU)2817
3751 y(_)2886 3749 y(cw)2979 3751 y(_)3047 3749 y(down)6
b(};)1394 3948 y Fm(The)26 b(di\033eren)n(t)g(selectors)e(for)h(the)i
(rounding)e(mo)r(de)h(\(resp)r(ectiv)n(ely)f(to)h(the)1394
3919 y(nearest,)g(to)i(zero,)e(to)i(plus)f(in\034nit)n(y)-7
b(,)28 b(and)g(to)f(min)n(us)h(in\034nit)n(y\).)71 4315
y Fh(void)402 b(FPU)792 4317 y(_)860 4315 y(set)960 4317
y(_)1028 4315 y(cw\()30 b(FPU)1357 4317 y(_)1425 4315
y(CW)1567 4317 y(_)1635 4315 y(t)f(R\))1866 4521 y Fm(T)-7
4047 y(nearest,)g(to)i(zero,)e(to)i(plus)f(in\034nit)n(y)-7
b(,)28 b(and)g(to)f(min)n(us)h(in\034nit)n(y\).)71 4403
y Fh(void)402 b(FPU)792 4405 y(_)860 4403 y(set)960 4405
y(_)1028 4403 y(cw\()30 b(FPU)1357 4405 y(_)1425 4403
y(CW)1567 4405 y(_)1635 4403 y(t)f(R\))1866 4602 y Fm(T)-7
b(o)27 b(set)h(the)g(rounding)f(mo)r(de)g(to)h Fh(R)s
Fm(.)71 4926 y Fh(FPU)243 4928 y(_)311 4926 y(CW)453
4928 y(_)521 4926 y(t)620 5132 y(FPU)792 5134 y(_)860
5132 y(get)964 5134 y(_)1032 5132 y(cw\()i(void\))496
Fm(.)71 4967 y Fh(FPU)243 4969 y(_)311 4967 y(CW)453
4969 y(_)521 4967 y(t)620 5166 y(FPU)792 5168 y(_)860
5166 y(get)964 5168 y(_)1032 5166 y(cw\()i(void\))496
b Fm(T)-7 b(o)27 b(get)h(the)g(curren)n(t)e(rounding)h(mo)r(de.)p
eop
%%Page: 4 4
4 3 bop 71 -231 a Fm(4)71 2 y Fi(Example)71 189 y Fm(The)26
4 3 bop 71 -231 a Fm(4)71 2 y Fi(Example)71 195 y Fm(The)26
b(correct)e(w)n(a)n(y)h(to)h(protect)f(an)h(area)e(of)i(co)r(de)g(that)
g(uses)f(op)r(erations)g(on)g(the)i(class)d Fh(Interval)3124
191 y(_)3193 189 y(nt)3268 191 y(_)3335 189 y(advanced)36
b Fm(is)71 288 y(the)28 b(follo)n(wing:)158 536 y Fd(FPU_CW_t)40
b(backup)h(=)i(FPU_get_cw\(\);)158 635 y(FPU_set_cw\(FPU_c)o(w_)o(up\))
o(;)158 735 y(...)f(//)h(The)f(code)g(to)h(be)g(protected.)158
835 y(FPU_set_cw\(backu)o(p\))o(;)71 1164 y Fi(Implemen)m(tation)71
1351 y Fm(The)30 b(basic)f(idea)g(is)h(to)g(use)f(the)h(directed)g
197 y(_)3193 195 y(nt)3268 197 y(_)3335 195 y(advanced)36
b Fm(is)71 294 y(the)28 b(follo)n(wing:)158 576 y Fd(FPU_CW_t)40
b(backup)h(=)i(FPU_get_cw\(\);)158 675 y(FPU_set_cw\(FPU_c)o(w_)o(up\))
o(;)158 775 y(...)f(//)h(The)f(code)g(to)h(be)g(protected.)158
875 y(FPU_set_cw\(backu)o(p\))o(;)71 1263 y Fi(Implemen)m(tation)71
1456 y Fm(The)30 b(basic)f(idea)g(is)h(to)g(use)f(the)h(directed)g
(rounding)f(mo)r(des)h(sp)r(eci\034ed)g(b)n(y)f(the)h
Fh(IEEE)j(754)e Fm(standard,)e(whic)n(h)h(are)71 1451
Fh(IEEE)j(754)e Fm(standard,)e(whic)n(h)h(are)71 1555
y(implemen)n(ted)24 b(b)n(y)g(almost)g(all)g(pro)r(cessors)d(no)n(w)n
(ada)n(ys.)33 b(It)25 b(states)e(that)i(y)n(ou)e(ha)n(v)n(e)g(the)h(p)r
(ossibilit)n(y)-7 b(,)25 b(concerning)e(the)71 1550 y(basic)29
(ossibilit)n(y)-7 b(,)25 b(concerning)e(the)71 1655 y(basic)29
b(\035oating)g(p)r(oin)n(t)h(op)r(erations)f(\()p Fe(+)p
Ff(;)14 b Fg(\000)p Ff(;)g Fg(\003)p Ff(;)g(=;)1603 1508
y Fg(p)1670 1550 y Fm(\))30 b(to)g(sp)r(ecify)g(the)h(rounding)e(mo)r
(de)h(of)f(eac)n(h)g(op)r(eration)g(instead)71 1650 y(of)c(using)f(the)
Ff(;)14 b Fg(\000)p Ff(;)g Fg(\003)p Ff(;)g(=;)1603 1613
y Fg(p)1670 1655 y Fm(\))30 b(to)g(sp)r(ecify)g(the)h(rounding)e(mo)r
(de)h(of)f(eac)n(h)g(op)r(eration)g(instead)71 1755 y(of)c(using)f(the)
h(default,)h(whic)n(h)f(is)g(set)f(to)h('round)f(to)h(the)g(nearest'.)
35 b(This)25 b(feature)g(allo)n(ws)e(us)i(to)f(compute)h(easily)f(on)71
1750 y Fh(intervals)7 b Fm(.)40 b(F)-7 b(or)28 b(example,)g(to)g(add)h
1854 y Fh(intervals)7 b Fm(.)40 b(F)-7 b(or)28 b(example,)g(to)g(add)h
(the)f(t)n(w)n(o)g(in)n(terv)-5 b(als)28 b([a.i;a.s])f(and)i
([b.i;b.s],)g(compute)f Ff(c:i)c Fe(=)h Ff(a:i)18 b Fe(+)h
Ff(b:i)28 b Fm(rounded)71 1849 y(to)n(w)n(ards)d(min)n(us)h(in\034nit)n
Ff(b:i)28 b Fm(rounded)71 1954 y(to)n(w)n(ards)d(min)n(us)h(in\034nit)n
(y)-7 b(,)27 b(and)g Ff(c:s)c Fe(=)g Ff(a:s)16 b Fe(+)g
Ff(b:s)26 b Fm(rounded)h(to)n(w)n(ards)d(plus)j(in\034nit)n(y)-7
b(,)27 b(and)g(the)g(result)f(is)h(the)g(in)n(terv)-5
b(al)71 1949 y([c.i;c.s].)37 b(This)27 b(metho)r(d)h(can)f(b)r(e)h
b(al)71 2053 y([c.i;c.s].)37 b(This)27 b(metho)r(d)h(can)f(b)r(e)h
(extended)g(easily)f(to)g(the)h(other)f(op)r(erations.)71
2135 y(The)36 b(problem)f(is)g(that)h(w)n(e)f(ha)n(v)n(e)g(to)g(c)n
2246 y(The)36 b(problem)f(is)g(that)h(w)n(e)f(ha)n(v)n(e)g(to)g(c)n
(hange)f(the)i(rounding)f(mo)r(de)h(v)n(ery)e(often,)k(and)e(the)g
(functions)f(of)h(the)g(C)71 2235 y(library)23 b(doing)g(this)h(op)r
(functions)f(of)h(the)g(C)71 2346 y(library)23 b(doing)g(this)h(op)r
(eration)f(are)g(slo)n(w)h(and)f(not)i(p)r(ortable.)35
b(That's)23 b(wh)n(y)h(assem)n(bly)f(v)n(ersions)f(are)h(used)h(as)g
(often)71 2335 y(as)35 b(p)r(ossible.)61 b(Another)35
(often)71 2445 y(as)35 b(p)r(ossible.)61 b(Another)35
b(tric)n(k)g(is)g(to)h(store)f(the)h(opp)r(osite)f(of)g(the)h(lo)n(w)n
(er)f(b)r(ound,)j(instead)d(of)h(the)g(lo)n(w)n(er)e(b)r(ound)71
2434 y(itself,)k(whic)n(h)e(allo)n(ws)f(us)h(to)f(nev)n(er)g(c)n(hange)
2545 y(itself,)k(whic)n(h)e(allo)n(ws)f(us)h(to)f(nev)n(er)g(c)n(hange)
g(the)h(rounding)f(mo)r(de)h(inside)g(simple)g(op)r(erations.)61
b(Therefore,)36 b(all)71 2534 y(basic)28 b(op)r(erations,)f(whic)n(h)h
(are)g(in)g(the)h(class)e Fh(Interval)1803 2536 y(_)1872
2534 y(nt)1947 2536 y(_)2014 2534 y(advanced)39 b Fm(assume)27
b(that)i(the)g(rounding)e(mo)r(de)i(is)f(set)71 2634
b(Therefore,)36 b(all)71 2645 y(basic)28 b(op)r(erations,)f(whic)n(h)h
(are)g(in)g(the)h(class)e Fh(Interval)1803 2647 y(_)1872
2645 y(nt)1947 2647 y(_)2014 2645 y(advanced)39 b Fm(assume)27
b(that)i(the)g(rounding)e(mo)r(de)i(is)f(set)71 2744
y(to)i('round)f(to)h(in\034nit)n(y',)h(and)e(ev)n(erything)g(w)n(orks)f
(with)j(this)f(correctly)e(set.)44 b(The)30 b(class)f
Fh(Interval)3213 2636 y(_)3281 2634 y(nt)37 b Fm(tak)n(es)29
b(care)71 2733 y(of)e(this,)h(but)g(is)g(a)f(bit)h(slo)n(w)n(er.)71
2920 y(So,)33 b(if)f(the)h(user)e(needs)h(the)g(sp)r(eed)g(of)g
Fh(Interval)1614 2922 y(_)1682 2920 y(nt)1757 2922 y(_)1825
2920 y(advanced)9 b Fm(,)34 b(he)e(m)n(ust)g(tak)n(e)g(care)f(of)h
(setting)g(the)g(rounding)71 3019 y(mo)r(de)25 b(to)g('round)f(to)h
Fh(Interval)3213 2746 y(_)3281 2744 y(nt)37 b Fm(tak)n(es)29
b(care)71 2844 y(of)e(this,)h(but)g(is)g(a)f(bit)h(slo)n(w)n(er.)71
3037 y(So,)33 b(if)f(the)h(user)e(needs)h(the)g(sp)r(eed)g(of)g
Fh(Interval)1614 3039 y(_)1682 3037 y(nt)1757 3039 y(_)1825
3037 y(advanced)9 b Fm(,)34 b(he)e(m)n(ust)g(tak)n(e)g(care)f(of)h
(setting)g(the)g(rounding)71 3136 y(mo)r(de)25 b(to)g('round)f(to)h
(in\034nit)n(y')g(b)r(efore)g(eac)n(h)f(op)r(erations)f(on)i(this)g(n)n
(um)n(b)r(er)f(t)n(yp)r(e.)37 b(And)25 b(if)g(other)g(op)r(erations)e
(migh)n(t)71 3119 y(b)r(e)28 b(a\033ected)f(b)n(y)h(this,)g(he)f(m)n
(migh)n(t)71 3236 y(b)r(e)28 b(a\033ected)f(b)n(y)h(this,)g(he)f(m)n
(ust)h(tak)n(e)f(care)f(to)i(reset)f(it)h(to)f('round)g(to)h(the)g
(nearest')e(b)r(efore)i(them.)71 3306 y(Platform)f(supp)r(ort:)71
3405 y(This)e(part)f(of)h Fj(Cgal)g Fm(m)n(ust)g(b)r(e)h(explicitly)f
(nearest')e(b)r(efore)i(them.)71 3429 y(Platform)f(supp)r(ort:)71
3528 y(This)e(part)f(of)h Fj(Cgal)g Fm(m)n(ust)g(b)r(e)h(explicitly)f
(p)r(orted)f(to)h(eac)n(h)f(non)h(y)n(et)g(supp)r(orted)g(platform.)35
b(F)-7 b(or)24 b(In)n(tel,)i(Sparc)e(and)71 3505 y(Mips,)j(only)g(the)h
b(F)-7 b(or)24 b(In)n(tel,)i(Sparc)e(and)71 3628 y(Mips,)j(only)g(the)h
(GNU)g(compilers)e(use)h(assem)n(bly)f(co)r(de.)37 b(The)27
b(MipsPro)g(compiler)g(uses)f(slo)n(w)n(er)g(C)h(co)r(de)g(instead,)71
3604 y(and)33 b(do)r(es)g(not)h(supp)r(ort)f(the)h(construction)e
Fh(convert)1794 3606 y(_)1862 3604 y(to)5 b Fd(<>)p Fh(\(\))s
3728 y(and)33 b(do)r(es)g(not)h(supp)r(ort)f(the)h(construction)e
Fh(convert)1794 3730 y(_)1862 3728 y(to)5 b Fd(<>)p Fh(\(\))s
Fm(,)35 b(but)f(a)f(w)n(ork)-5 b(around)31 b Fh(convert)3111
3606 y(_)3179 3604 y(from)3349 3606 y(_)3418 3604 y(to\(target,)71
3704 y(source\))s Fm(.)p -213 3851 8 119 v -206 3851
1182 5 v 71 4167 a Fl(0.0.3)112 b(Robust)37 b(\034ltered)g(predicates)g
(\()p Fk(Filtered)2096 4169 y(_)2175 4167 y(exact)9 b
Fb(<)p Fk(CT,ET)k Fb(>)p Fl(\))71 4407 y Fm(The)35 b(class)g
Fh(Filtered)733 4409 y(_)802 4407 y(exact)8 b Fd(<)p
Fh(CT,ET)j Fd(>)36 b Fm(is)g(a)f(wrapp)r(er)f(t)n(yp)r(e)i(for)f(the)h
(n)n(um)n(b)r(er)f(t)n(yp)r(e)h Fh(CT)11 b Fm(,)36 b(with)g(the)g
(di\033erence)71 4507 y(that)29 b(all)f(predicates)g(are)g(sp)r
(ecialized)g(suc)n(h)h(that)g(they)g(are)f(guaran)n(teed)f(to)h(b)r(e)i
(exact.)40 b(Sp)r(eed)29 b(is)g(ac)n(hiev)n(ed)e(via)h(a)71
4606 y(\034ltering)f(sc)n(heme)g(using)g(in)n(terv)-5
b(al)27 b(arithmetic)h(\(see)f(Section)h(0.0.2\).)35
b(Here)28 b(are)e(the)i(necessary)e(requiremen)n(ts:)195
4854 y Fg(\017)41 b Fh(CT)86 b Fm(is)73 b(the)h(construction)e(and)h
(storage)e(t)n(yp)r(e.)175 b(The)73 b(only)g(data)g(mem)n(b)r(er)g(of)g
(the)h(class)278 4953 y Fh(Filtered)559 4955 y(_)628
4953 y(exact)8 b Fd(<)p Fh(CT,ET)j Fd(>)34 b Fm(is)f(the)g
Fh(value)40 b Fm(of)33 b(t)n(yp)r(e)g Fh(CT)11 b Fm(.)34
b(All)f(arithmetic)g(op)r(erations)e(called)i(outside)g(the)278
5053 y(predicates)g(will)g(b)r(e)h(executed)f(with)h(this)g(n)n(um)n(b)
r(er)f(t)n(yp)r(e.)54 b(Y)-7 b(ou)34 b(can)f(disable)g(this)g(feature)g
(b)n(y)g(compiling)278 5153 y(with)28 b(the)g(\035ag)f
Fh(-DCGAL)1097 5155 y(_)1164 5153 y(DENY)1407 5155 y(_)1475
5153 y(INEXACT)1867 5155 y(_)1935 5153 y(OPERATIONS)2498
5155 y(_)2565 5153 y(ON)2691 5155 y(_)2758 5153 y(FILTER)k
Fm(\(it)d(allo)n(ws)e(the)i(pro-)278 5252 y(grammer)35
b(to)g(sp)r(ot)h(the)g(inexact)g(op)r(erations)e(that)i(should)g(b)r(e)
g(incorp)r(orated)f(in)h(the)g(predicates\).)61 b(The)278
5352 y(arithmetic)28 b(op)r(erations)e(called)h(from)g(the)h
(predicates)f(are)f(alw)n(a)n(ys)g(computed)i(exactly)-7
b(.)p eop
3730 y(_)3179 3728 y(from)3349 3730 y(_)3418 3728 y(to\(target,)71
3827 y(source\))s Fm(.)p -213 3974 8 119 v -206 3974
1182 5 v 71 4308 a Fl(0.0.3)112 b(Robust)j(\034ltered)f(predicates)h
(\()p Fk(Filtered)2329 4310 y(_)2407 4308 y(exact)9 b
Fb(<)p Fk(CT,)97 b(ET,)f(Cache)3473 4310 y(_)3552 4308
y(t)h(=)413 4424 y(No)535 4426 y(_)615 4424 y(Filter)852
4426 y(_)931 4424 y(Cache)7 b Fb(>)p Fl(\))71 4672 y
Fm(The)35 b(class)g Fh(Filtered)733 4674 y(_)802 4672
y(exact)8 b Fd(<)p Fh(CT,ET)j Fd(>)36 b Fm(is)g(a)f(wrapp)r(er)f(t)n
(yp)r(e)i(for)f(the)h(n)n(um)n(b)r(er)f(t)n(yp)r(e)h
Fh(CT)11 b Fm(,)36 b(with)g(the)g(di\033erence)71 4772
y(that)29 b(all)f(predicates)g(are)g(sp)r(ecialized)g(suc)n(h)h(that)g
(they)g(are)f(guaran)n(teed)f(to)h(b)r(e)i(exact.)40
b(Sp)r(eed)29 b(is)g(ac)n(hiev)n(ed)e(via)h(a)71 4871
y(\034ltering)f(sc)n(heme)g(using)g(in)n(terv)-5 b(al)27
b(arithmetic)h(\(see)f(Section)h(0.0.2\).)35 b(Here)28
b(are)e(the)i(necessary)e(requiremen)n(ts:)195 5153 y
Fg(\017)41 b Fh(CT)86 b Fm(is)73 b(the)h(construction)e(and)h(storage)e
(t)n(yp)r(e.)175 b(The)73 b(only)g(data)g(mem)n(b)r(er)g(of)g(the)h
(class)278 5252 y Fh(Filtered)559 5254 y(_)628 5252 y(exact)8
b Fd(<)p Fh(CT,ET)j Fd(>)34 b Fm(is)f(the)g Fh(value)40
b Fm(of)33 b(t)n(yp)r(e)g Fh(CT)11 b Fm(.)34 b(All)f(arithmetic)g(op)r
(erations)e(called)i(outside)g(the)278 5352 y(predicates)g(will)g(b)r
(e)h(executed)f(with)h(this)g(n)n(um)n(b)r(er)f(t)n(yp)r(e.)54
b(Y)-7 b(ou)34 b(can)f(disable)g(this)g(feature)g(b)n(y)g(compiling)p
eop
%%Page: 5 5
5 4 bop 3714 -231 a Fm(5)195 2 y Fg(\017)41 b Fm(The)28
b Fh(ET)39 b Fm(t)n(yp)r(e)28 b(m)n(ust)g(b)r(e)g(able)f(to)g(compute)h
(exactly)f(the)h(op)r(erations)e(in)n(v)n(olv)n(ed)g(in)i(the)g
(predicates)f(called.)195 173 y Fg(\017)41 b Fm(A)26
b Fh(convert)632 175 y(_)700 173 y(to)5 b Fd(<)p Fh(Interval)1100
175 y(_)1168 173 y(nt)1243 175 y(_)1310 173 y(advanced)k
Fd(>)p Fh(\(CT\))30 b Fm(function)c(m)n(ust)g(b)r(e)g(pro)n(vided,)e
(that)i(returns)f(an)g(in)n(terv)-5 b(al)278 272 y(con)n(taining)27
b(the)h(v)-5 b(alue)27 b(of)h(the)g(argumen)n(t)e(of)i(t)n(yp)r(e)f
Fh(CT)11 b Fm(,)29 b(see)e(Section)h(0.0.1.)195 443 y
Fg(\017)41 b Fm(A)e Fh(convert)645 445 y(_)713 443 y(to)5
5 4 bop 3714 -231 a Fm(5)278 2 y(with)28 b(the)g(\035ag)f
Fh(-DCGAL)1097 4 y(_)1164 2 y(DENY)1407 4 y(_)1475 2
y(INEXACT)1867 4 y(_)1935 2 y(OPERATIONS)2498 4 y(_)2565
2 y(ON)2691 4 y(_)2758 2 y(FILTER)k Fm(\(it)d(allo)n(ws)e(the)i(pro-)
278 102 y(grammer)35 b(to)g(sp)r(ot)h(the)g(inexact)g(op)r(erations)e
(that)i(should)g(b)r(e)g(incorp)r(orated)f(in)h(the)g(predicates\).)61
b(The)278 201 y(arithmetic)28 b(op)r(erations)e(called)h(from)g(the)h
(predicates)f(are)f(alw)n(a)n(ys)g(computed)i(exactly)-7
b(.)195 385 y Fg(\017)41 b Fm(The)28 b Fh(ET)39 b Fm(t)n(yp)r(e)28
b(m)n(ust)g(b)r(e)g(able)f(to)g(compute)h(exactly)f(the)h(op)r
(erations)e(in)n(v)n(olv)n(ed)g(in)i(the)g(predicates)f(called.)195
568 y Fg(\017)41 b Fm(A)26 b Fh(convert)632 570 y(_)700
568 y(to)5 b Fd(<)p Fh(Interval)1100 570 y(_)1168 568
y(nt)1243 570 y(_)1310 568 y(advanced)k Fd(>)p Fh(\(CT\))30
b Fm(function)c(m)n(ust)g(b)r(e)g(pro)n(vided,)e(that)i(returns)f(an)g
(in)n(terv)-5 b(al)278 668 y(con)n(taining)27 b(the)h(v)-5
b(alue)27 b(of)h(the)g(argumen)n(t)e(of)i(t)n(yp)r(e)f
Fh(CT)11 b Fm(,)29 b(see)e(Section)h(0.0.1.)195 852 y
Fg(\017)41 b Fm(A)e Fh(convert)645 854 y(_)713 852 y(to)5
b Fd(<)p Fh(ET)11 b Fd(>)p Fh(\(CT\))42 b Fm(function)c(m)n(ust)g(also)
f(b)r(e)h(pro)n(vided,)i(that)e(returns)f(a)h(n)n(um)n(b)r(er)f(of)h(t)
n(yp)r(e)g Fh(ET)278 543 y Fm(represen)n(ting)33 b(exactly)i(the)g
n(yp)r(e)g Fh(ET)278 951 y Fm(represen)n(ting)33 b(exactly)i(the)g
(argumen)n(t)e(of)i(t)n(yp)r(e)g Fh(CT)11 b Fm(.)35 b(It's)g(a)g(con)n
(v)n(ersion)d(function)j(that)g(is)g(used)f(for)h(the)278
643 y(exact)41 b(computation,)i(when)e(the)g(\034lter)g(fails.)76
1051 y(exact)41 b(computation,)i(when)e(the)g(\034lter)g(fails.)76
b(This)41 b(con)n(v)n(ersion)d(has)j(to)f(b)r(e)h(done)g(exactly)f(to)h
(ensure)278 742 y(robustness.)71 1125 y Fi(Example)71
1318 y Fm(Y)-7 b(ou)27 b(migh)n(t)h(use)f(at)h(the)g(b)r(eginning)f(of)
h(y)n(our)e(program)f(a)j Fh(typedef)46 b Fm(as)27 b(follo)n(ws:)245
1596 y Fd(#include<CGAL/Ar)o(ith)o(me)o(ti)o(c_f)o(il)o(te)o(r.h)o(>)
245 1696 y(#include<CGAL/le)o(da_)o(re)o(al)o(.h>)245
1796 y(#include<CGAL/do)o(ubl)o(e.)o(h>)245 1895 y(typedef)41
(ensure)278 1151 y(robustness.)71 1442 y(The)25 b(follo)n(wing)f(mem)n
(b)r(er)g(functions)i(are)d(used)i(to)g(access)f(the)h(n)n(umerical)f
(v)-5 b(alue)25 b(for)f(the)h(di\033eren)n(t)g(n)n(um)n(b)r(er)g(t)n
(yp)r(es:)71 1667 y Fh(CT)431 b(.value\(\))969 b Fm(returns)27
b(the)h(wrapp)r(ed)f(v)-5 b(alue.)71 1921 y Fh(ET)434
b(.exact\(\))968 b Fm(returns)27 b(the)h(con)n(v)n(erted)e(v)-5
b(alue)27 b(to)h Fh(ET)11 b Fm(.)71 2175 y Fh(Interval)352
2177 y(_)420 2175 y(nt)495 2177 y(_)562 2175 y(advanced)620
2370 y(.interval\(\))879 b Fm(returns)226 b(the)h(con)n(v)n(erted)e(v)
-5 b(alue)226 b(to)1866 2470 y Fh(Interval)2147 2472
y(_)2215 2470 y(nt)2290 2472 y(_)2357 2470 y(advanced)9
b Fm(.)71 2681 y(F)-7 b(or)29 b(e\036ciency)h(reasons,)f(the)h(con)n(v)
n(ersion)d(of)j(the)h Fh(value)36 b Fm(to)30 b(an)g Fh(Interval)2417
2683 y(_)2485 2681 y(nt)2560 2683 y(_)2627 2681 y(advanced)41
b Fm(ma)n(y)29 b(b)r(e)h(cac)n(hed)f(using)71 2781 y
Fh(Filter)272 2783 y(_)340 2781 y(Cache)46 b Fm(as)36
b(optionnal)h(third)h(template)g(parameter)d(of)j(the)g(class.)65
b(This)38 b(is)f(only)g(wishful)h(if)g Fh(CT)49 b Fm(is)37
b(a)71 2881 y(complicated)26 b(t)n(yp)r(e)g(for)g(whic)n(h)g(the)g(con)
n(v)n(ersion)e(to)i(an)g(in)n(terv)-5 b(al)26 b(tak)n(es)f(a)h
(somewhat)f(long)g(time,)i(and)f(is)h(ask)n(ed)e(for)71
2980 y(the)k(same)f(v)-5 b(ariable)28 b(sev)n(eral)f(times.)41
b(Y)-7 b(ou)29 b(migh)n(t)g(w)n(an)n(t)f(to)h(exp)r(erimen)n(t)g(with)g
(this)h(feature,)e(dep)r(ending)i(on)e(y)n(our)71 3080
y(needs.)71 3393 y Fi(Example)71 3588 y Fm(Y)-7 b(ou)27
b(migh)n(t)h(use)f(at)h(the)g(b)r(eginning)f(of)h(y)n(our)e(program)f
(a)j Fh(typedef)46 b Fm(as)27 b(follo)n(ws:)245 3879
y Fd(#include<CGAL/Ar)o(ith)o(me)o(ti)o(c_f)o(il)o(te)o(r.h)o(>)245
3979 y(#include<CGAL/le)o(da_)o(re)o(al)o(.h>)245 4079
y(#include<CGAL/do)o(ubl)o(e.)o(h>)245 4178 y(typedef)41
b(Filtered_exact<)o(dou)o(bl)o(e,)c(leda_real>)i(NT;)71
2174 y Fm(Or)27 b(if)h(y)n(ou)e(are)h(sure)g(that)h(the)g(predicates)e
4470 y Fm(Or)27 b(if)h(y)n(ou)e(are)h(sure)g(that)h(the)g(predicates)e
(in)n(v)n(olv)n(ed)g(do)i(not)f(use)h(divisions)f(nor)f(square)h(ro)r
(ots:)245 2453 y Fd(#include<CGAL/Ar)o(ith)o(me)o(ti)o(c_f)o(il)o(te)o
(r.h)o(>)245 2553 y(#include<CGAL/Gm)o(pz.)o(h>)245 2652
y(#include<CGAL/in)o(t.h)o(>)245 2752 y(typedef)41 b(Filtered_exact<)o
(int)o(,)c(Gmpz>)42 b(NT;)71 3031 y Fm(And)28 b(if)g(y)n(ou)f(kno)n(w)g
(ots:)245 4762 y Fd(#include<CGAL/Ar)o(ith)o(me)o(ti)o(c_f)o(il)o(te)o
(r.h)o(>)245 4861 y(#include<CGAL/Gm)o(pz.)o(h>)245 4961
y(#include<CGAL/in)o(t.h)o(>)245 5060 y(typedef)41 b(Filtered_exact<)o
(int)o(,)c(Gmpz>)42 b(NT;)71 5352 y Fm(And)28 b(if)g(y)n(ou)f(kno)n(w)g
(that)g(the)h(double)g(v)-5 b(ariables)26 b(con)n(tain)h(in)n(teger)f
(v)-5 b(alues,)28 b(y)n(ou)e(can)i(use:)245 3309 y Fd(#include<CGAL/Ar)
o(ith)o(me)o(ti)o(c_f)o(il)o(te)o(r.h)o(>)245 3409 y(#include<CGAL/Gm)o
(pz.)o(h>)245 3509 y(#include<CGAL/do)o(ubl)o(e.)o(h>)245
3608 y(typedef)41 b(Filtered_exact<)o(dou)o(bl)o(e,)c(Gmpz>)k(NT;)71
3887 y Fm(As)28 b(a)f(general)f(rule,)h(w)n(e)g(advise)g(the)h(use)f
(of)h Fh(Filtered)1774 3889 y(_)1843 3887 y(exact)8 b
Fd(<)p Fh(double,)30 b(leda)2504 3889 y(_)2574 3887 y(real)9
b Fd(>)p Fm(.)71 4184 y Fi(Implemen)m(tation)71 4376
y Fm(The)64 b(template)h(de\034nition)g(of)f(the)h(lo)n(w)f(lev)n(el)g
(predicates)f(of)h Fj(Cgal)h Fm(are)e(o)n(v)n(erloaded)f(for)i(the)h(t)
n(yp)r(e)71 4475 y Fh(Filtered)352 4477 y(_)421 4475
y(exact)8 b Fd(<)p Fh(CT,ET)j Fd(>)p Fm(.)60 b(It)35
(v)-5 b(alues,)28 b(y)n(ou)e(can)i(use:)p eop
%%Page: 6 6
6 5 bop 71 -231 a Fm(6)245 2 y Fd(#include<CGAL/Ar)o(ith)o(me)o(ti)o
(c_f)o(il)o(te)o(r.h)o(>)245 102 y(#include<CGAL/Gm)o(pz.)o(h>)245
201 y(#include<CGAL/do)o(ubl)o(e.)o(h>)245 301 y(typedef)41
b(Filtered_exact<)o(dou)o(bl)o(e,)c(Gmpz>)k(NT;)71 558
y Fm(As)28 b(a)f(general)f(rule,)h(w)n(e)g(advise)g(the)h(use)f(of)h
Fh(Filtered)1774 560 y(_)1843 558 y(exact)8 b Fd(<)p
Fh(double,)30 b(leda)2504 560 y(_)2574 558 y(real)9 b
Fd(>)p Fm(.)71 746 y(If)28 b(y)n(ou)f(need)g(exact)g(computations)g
(also)g(outside)g(the)h(predicates,)f(y)n(ou)g(can)g(use)g(the)h(follo)
n(wing:)245 1003 y Fd(#include<CGAL/Ar)o(ith)o(me)o(ti)o(c_f)o(il)o(te)
o(r.h)o(>)245 1102 y(#include<CGAL/le)o(ra_)o(re)o(al)o(.h>)245
1202 y(typedef)41 b(Filtered_exact<)o(led)o(a_)o(re)o(al,)c(leda_real,)
i(Filter_Cache>)f(NT;)71 1547 y Fi(Implemen)m(tation)71
1735 y Fm(The)64 b(template)h(de\034nition)g(of)f(the)h(lo)n(w)f(lev)n
(el)g(predicates)f(of)h Fj(Cgal)h Fm(are)e(o)n(v)n(erloaded)f(for)i
(the)h(t)n(yp)r(e)71 1835 y Fh(Filtered)352 1837 y(_)421
1835 y(exact)8 b Fd(<)p Fh(CT,ET)j Fd(>)p Fm(.)60 b(It)35
b(is)f(a)h(partial)f(sp)r(ecialisation,)h(whic)n(h)g(implies)g(that)g
(this)g(is)g(not)g(supp)r(orted)f(b)n(y)71 4575 y(the)g(compilers)f
(this)g(is)g(not)g(supp)r(orted)f(b)n(y)71 1935 y(the)g(compilers)f
(that)h(do)f(not)h(supp)r(ort)f(this)h(C++)f(feature)h(\(MipsPro)f
(7.2\).)55 b(A)34 b(w)n(ork)-5 b(around)32 b(is)h(in)h(place)g(that)71
4675 y(allo)n(ws)d(to)h(use)g(one)g(suc)n(h)g(\034ltered)g(n)n(um)n(b)r
2034 y(allo)n(ws)d(to)h(use)g(one)g(suc)n(h)g(\034ltered)g(n)n(um)n(b)r
(er)g(t)n(yp)r(e)g(at)g(once,)h(b)n(y)f(explicitely)g(sp)r(ecializing)g
(the)g(predicates)g(for)g(it.)71 4774 y(T)-7 b(o)30 b(do)g(so,)g(just)g
(de\034ne)h(the)f(macros)f Fh(CGAL)1518 4776 y(_)1586
4774 y(IA)1680 4776 y(_)1748 4774 y(CT)42 b Fm(and)30
b Fh(CGAL)2309 4776 y(_)2377 4774 y(IA)2471 4776 y(_)2539
4774 y(ET)42 b Fm(to)30 b(the)g(corresp)r(onding)e(n)n(um)n(b)r(er)71
4874 y(t)n(yp)r(es)f(b)r(efore)h(an)n(y)e(inclusion)i(of)f
(the)g(predicates)g(for)g(it.)71 2134 y(T)-7 b(o)30 b(do)g(so,)g(just)g
(de\034ne)h(the)f(macros)f Fh(CGAL)1518 2136 y(_)1586
2134 y(IA)1680 2136 y(_)1748 2134 y(CT)42 b Fm(and)30
b Fh(CGAL)2309 2136 y(_)2377 2134 y(IA)2471 2136 y(_)2539
2134 y(ET)42 b Fm(to)30 b(the)g(corresp)r(onding)e(n)n(um)n(b)r(er)71
2233 y(t)n(yp)r(es)f(b)r(efore)h(an)n(y)e(inclusion)i(of)f
Fj(Cgal)h Fm(\034les,)f(as)g(w)n(ell)h(as)e Fh(CGAL)2175
4876 y(_)2244 4874 y(IA)2338 4876 y(_)2405 4874 y(CACHE)10
b Fm(.)29 b(F)-7 b(or)26 b(example)i(:)71 5153 y Fd(#define)40
b(CGAL_IA_CT)g(double)71 5252 y(#define)g(CGAL_IA_ET)g(leda_real)71
5352 y(#define)g(CGAL_IA_CACHE)f(No_Filter_Cache)p eop
%%Page: 6 6
6 5 bop 71 -231 a Fm(6)71 2 y(F)-7 b(or)61 b(eac)n(h)h(predicate)f
(\034le,)72 b(the)62 b(o)n(v)n(erloaded)e(co)r(de)i(is)g(generated)f
(automatically)g(b)n(y)h(a)g Fh(PERL)g Fm(script)71 102
y(\()p Fh(examples/Interval)748 104 y(_)817 102 y(arithmetic/filtered)
1480 104 y(_)1551 102 y(predicate)1879 104 y(_)1949 102
y(converter)9 b Fm(\))36 b(that)g(y)n(ou)f(can)h(use)f(for)g(y)n(our)g
(o)n(wn)g(predi-)71 201 y(cates)f(\(see)g Fh(examples/Interval)1104
203 y(_)1174 201 y(arithmetic/README)10 b Fm(\).)36 b(This)f(script)f
(parses)f(the)i(template)g(declaration)e(of)71 301 y(the)28
b(functions)g(and)f(generates)f(the)i(o)n(v)n(erloaded)d(co)r(de)i(the)
h(follo)n(wing)f(w)n(a)n(y:)195 558 y Fg(\017)41 b Fm(con)n(v)n(ert)32
b(the)h(en)n(tries)g(to)g(in)n(terv)-5 b(als)32 b(using)g
Fh(convert)1930 560 y(_)1998 558 y(to)5 b Fd(<)p Fh(Interval)2398
560 y(_)2466 558 y(nt)2541 560 y(_)2609 558 y(advanced)k
Fd(>)p Fh(\(CT\))37 b Fm(\(via)c(the)h(.in)n(ter-)278
658 y(v)-5 b(al\(\))28 b(mem)n(b)r(er)g(function\),)195
824 y Fg(\017)41 b Fm(call)28 b(the)f(original)f(template)i(function)g
(with)g(the)g(t)n(yp)r(e)g Fh(Interval)2344 826 y(_)2412
824 y(nt)2487 826 y(_)2554 824 y(advanced)9 b Fm(,)195
990 y Fg(\017)41 b Fm(if)28 b(no)g(exception)f(is)g(thro)n(wn,)g
(return)g(the)h(v)-5 b(alue,)195 1156 y Fg(\017)41 b
Fm(if)86 b(an)f(exception)f(is)h(thro)n(wn)f(\(the)i(\034lter)f
2235 y(_)2244 2233 y(IA)2338 2235 y(_)2405 2233 y(CACHE)10
b Fm(.)29 b(F)-7 b(or)26 b(example)i(:)71 2490 y Fd(#define)40
b(CGAL_IA_CT)g(double)71 2590 y(#define)g(CGAL_IA_ET)g(leda_real)71
2690 y(#define)g(CGAL_IA_CACHE)f(No_Filter_Cache)71 2947
y Fm(F)-7 b(or)61 b(eac)n(h)h(predicate)f(\034le,)72
b(the)62 b(o)n(v)n(erloaded)e(co)r(de)i(is)g(generated)f(automatically)
g(b)n(y)h(a)g Fh(PERL)g Fm(script)71 3046 y(\()p Fh(examples/Interval)
748 3048 y(_)817 3046 y(arithmetic/filtered)1480 3048
y(_)1551 3046 y(predicate)1879 3048 y(_)1949 3046 y(converter)9
b Fm(\))36 b(that)g(y)n(ou)f(can)h(use)f(for)g(y)n(our)g(o)n(wn)g
(predi-)71 3146 y(cates)f(\(see)g Fh(examples/Interval)1104
3148 y(_)1174 3146 y(arithmetic/README)10 b Fm(\).)36
b(This)f(script)f(parses)f(the)i(template)g(declaration)e(of)71
3245 y(the)28 b(functions)g(and)f(generates)f(the)i(o)n(v)n(erloaded)d
(co)r(de)i(the)h(follo)n(wing)f(w)n(a)n(y:)195 3489 y
Fg(\017)41 b Fm(con)n(v)n(ert)26 b(the)h(en)n(tries)f(to)h(in)n(terv)-5
b(als)26 b(using)h Fh(convert)1894 3491 y(_)1962 3489
y(to)5 b Fd(<)p Fh(Interval)2362 3491 y(_)2430 3489 y(nt)2505
3491 y(_)2572 3489 y(advanced)k Fd(>)p Fh(\(CT\))s Fm(,)29
b(using)d(the)h Fh(inter-)278 3588 y(val\(\))32 b Fm(mem)n(b)r(er)27
b(function,)195 3749 y Fg(\017)41 b Fm(call)28 b(the)f(original)f
(template)i(function)g(with)g(the)g(t)n(yp)r(e)g Fh(Interval)2344
3751 y(_)2412 3749 y(nt)2487 3751 y(_)2554 3749 y(advanced)9
b Fm(,)195 3909 y Fg(\017)41 b Fm(if)28 b(no)g(exception)f(is)g(thro)n
(wn,)g(return)g(the)h(v)-5 b(alue,)195 4069 y Fg(\017)41
b Fm(if)86 b(an)f(exception)f(is)h(thro)n(wn)f(\(the)i(\034lter)f
(failed\),)100 b(con)n(v)n(ert)83 b(the)j(original)d(en)n(tries)h
(using)278 1256 y Fh(convert)544 1258 y(_)612 1256 y(to)5
b Fd(<)p Fh(ET)11 b Fd(>)p Fh(\(CT\))32 b Fm(\(via)27
b(the)h(.exact\(\))g(mem)n(b)r(er)f(function\),)195 1422
y Fg(\017)41 b Fm(and)28 b(call)f(the)h(original)e(template)i(function)
g(with)g(the)g(t)n(yp)r(e)g Fh(ET)11 b Fm(.)71 1779 y
Fi(Example)71 1970 y Fm(The)36 b(lo)n(w)g(lev)n(el)g(template)g
(using)278 4169 y Fh(convert)544 4171 y(_)612 4169 y(to)5
b Fd(<)p Fh(ET)11 b Fd(>)p Fh(\(CT\))s Fm(,)29 b(using)e(the)h
Fh(exact\(\))j Fm(mem)n(b)r(er)c(function,)195 4329 y
Fg(\017)41 b Fm(and)28 b(call)f(the)h(original)e(template)i(function)g
(with)g(the)g(t)n(yp)r(e)g Fh(ET)11 b Fm(.)71 4661 y
Fi(Example)71 4849 y Fm(The)36 b(lo)n(w)g(lev)n(el)g(template)g
(predicates)g(of)g Fj(Cgal)g Fm(are)f(in)i(\034les)f(named)g
Fh(CGAL/predicates)3059 1972 y(_)3130 1970 y(on)3219
1972 y(_)3287 1970 y(ftC2.h)44 b Fm(\(resp.)71 2069 y(ftC3\),)36
Fh(CGAL/predicates)3059 4851 y(_)3130 4849 y(on)3219
4851 y(_)3287 4849 y(ftC2.h)44 b Fm(\(resp.)71 4948 y(ftC3\),)36
b(the)f(script)f(is)g(used)g(to)g(pro)r(duce)f(the)i(\034les)f
Fh(CGAL/Arithmetic)2416 2071 y(_)2485 2069 y(filter/predicates)3061
2071 y(_)3132 2069 y(on)3221 2071 y(_)3289 2069 y(ftC2.h)42
b Fm(\(resp.)71 2169 y(ftC3\).)71 2360 y(F)-7 b(or)28
Fh(CGAL/Arithmetic)2416 4950 y(_)2485 4948 y(filter/predicates)3061
4950 y(_)3132 4948 y(on)3221 4950 y(_)3289 4948 y(ftC2.h)42
b Fm(\(resp.)71 5048 y(ftC3\).)71 5236 y(F)-7 b(or)28
b(the)h(momen)n(t,)g(only)g(the)g(cartesian)f(predicates)f(of)i(the)g
(k)n(ernel)f(are)g(supp)r(orted,)h(as)f(w)n(ell)h(as)f(the)h(p)r(o)n(w)
n(er)f(tests)71 2459 y(used)f(b)n(y)h(the)g(regular)d(triangulation.)p
n(er)f(tests)71 5336 y(used)f(b)n(y)h(the)g(regular)d(triangulation.)p
eop
%%Page: 7 7
7 6 bop 71 757 a Fa(Bibliograph)-6 b(y)1893 5562 y Fm(7)p

View File

@ -1 +1 @@
4.19 ( 6 Jul 1999)
4.20 ( 8 Jul 1999)